//////////////////////////////////////////
//
// NOTE: This is *not* a valid shader file
//
///////////////////////////////////////////
Shader "Custom/Test4" {
Properties {
 _MainTex ("Texture", 2D) = "white" { }
 _BumpMap ("Bump", 2D) = "bump" { }
 _SpecTex ("Specular Map (R)", 2D) = "white" { }
 _Cube ("ReflectionMap", CUBE) = "" { }
 _SmoothnessIntensity ("Smoothness Intensity(R)", Range(0,1)) = 0
 _MetallicIntensity ("Metallic Intensity(G)", Range(0,1)) = 0
 _Cubepower ("Cubepower", Range(0,1)) = 0.5
}
SubShader { 
 Tags { "RenderType"="Opaque" }
 Pass {
  Name "FORWARD"
  Tags { "LIGHTMODE"="ForwardBase" "RenderType"="Opaque" }
  GpuProgramID 52711
Program "vp" {
SubProgram "gles " {
Keywords { "DIRECTIONAL" "SHADOWS_OFF" "LIGHTMAP_OFF" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" }
"!!GLES
#version 100

#ifdef VERTEX
attribute vec4 _glesTANGENT;
attribute vec4 _glesVertex;
attribute vec3 _glesNormal;
attribute vec4 _glesMultiTexCoord0;
uniform mediump vec4 unity_SHBr;
uniform mediump vec4 unity_SHBg;
uniform mediump vec4 unity_SHBb;
uniform mediump vec4 unity_SHC;
uniform highp mat4 glstate_matrix_mvp;
uniform highp mat4 _Object2World;
uniform highp mat4 _World2Object;
uniform highp vec4 unity_WorldTransformParams;
uniform highp vec4 _MainTex_ST;
uniform highp vec4 _BumpMap_ST;
varying highp vec4 xlv_TEXCOORD0;
varying highp vec4 xlv_TEXCOORD1;
varying highp vec4 xlv_TEXCOORD2;
varying highp vec4 xlv_TEXCOORD3;
varying mediump vec3 xlv_TEXCOORD4;
void main ()
{
  lowp float tangentSign_1;
  lowp vec3 worldTangent_2;
  lowp vec3 worldNormal_3;
  highp vec4 tmpvar_4;
  tmpvar_4.xy = ((_glesMultiTexCoord0.xy * _MainTex_ST.xy) + _MainTex_ST.zw);
  tmpvar_4.zw = ((_glesMultiTexCoord0.xy * _BumpMap_ST.xy) + _BumpMap_ST.zw);
  highp vec3 tmpvar_5;
  tmpvar_5 = (_Object2World * _glesVertex).xyz;
  highp vec4 v_6;
  v_6.x = _World2Object[0].x;
  v_6.y = _World2Object[1].x;
  v_6.z = _World2Object[2].x;
  v_6.w = _World2Object[3].x;
  highp vec4 v_7;
  v_7.x = _World2Object[0].y;
  v_7.y = _World2Object[1].y;
  v_7.z = _World2Object[2].y;
  v_7.w = _World2Object[3].y;
  highp vec4 v_8;
  v_8.x = _World2Object[0].z;
  v_8.y = _World2Object[1].z;
  v_8.z = _World2Object[2].z;
  v_8.w = _World2Object[3].z;
  highp vec3 tmpvar_9;
  tmpvar_9 = normalize(((
    (v_6.xyz * _glesNormal.x)
   + 
    (v_7.xyz * _glesNormal.y)
  ) + (v_8.xyz * _glesNormal.z)));
  worldNormal_3 = tmpvar_9;
  highp mat3 tmpvar_10;
  tmpvar_10[0] = _Object2World[0].xyz;
  tmpvar_10[1] = _Object2World[1].xyz;
  tmpvar_10[2] = _Object2World[2].xyz;
  highp vec3 tmpvar_11;
  tmpvar_11 = normalize((tmpvar_10 * _glesTANGENT.xyz));
  worldTangent_2 = tmpvar_11;
  highp float tmpvar_12;
  tmpvar_12 = (_glesTANGENT.w * unity_WorldTransformParams.w);
  tangentSign_1 = tmpvar_12;
  lowp vec3 tmpvar_13;
  tmpvar_13 = (((worldNormal_3.yzx * worldTangent_2.zxy) - (worldNormal_3.zxy * worldTangent_2.yzx)) * tangentSign_1);
  highp vec4 tmpvar_14;
  tmpvar_14.x = worldTangent_2.x;
  tmpvar_14.y = tmpvar_13.x;
  tmpvar_14.z = worldNormal_3.x;
  tmpvar_14.w = tmpvar_5.x;
  highp vec4 tmpvar_15;
  tmpvar_15.x = worldTangent_2.y;
  tmpvar_15.y = tmpvar_13.y;
  tmpvar_15.z = worldNormal_3.y;
  tmpvar_15.w = tmpvar_5.y;
  highp vec4 tmpvar_16;
  tmpvar_16.x = worldTangent_2.z;
  tmpvar_16.y = tmpvar_13.z;
  tmpvar_16.z = worldNormal_3.z;
  tmpvar_16.w = tmpvar_5.z;
  lowp vec4 tmpvar_17;
  tmpvar_17.w = 1.0;
  tmpvar_17.xyz = worldNormal_3;
  mediump vec4 normal_18;
  normal_18 = tmpvar_17;
  mediump vec3 x2_19;
  mediump vec4 tmpvar_20;
  tmpvar_20 = (normal_18.xyzz * normal_18.yzzx);
  x2_19.x = dot (unity_SHBr, tmpvar_20);
  x2_19.y = dot (unity_SHBg, tmpvar_20);
  x2_19.z = dot (unity_SHBb, tmpvar_20);
  gl_Position = (glstate_matrix_mvp * _glesVertex);
  xlv_TEXCOORD0 = tmpvar_4;
  xlv_TEXCOORD1 = tmpvar_14;
  xlv_TEXCOORD2 = tmpvar_15;
  xlv_TEXCOORD3 = tmpvar_16;
  xlv_TEXCOORD4 = (x2_19 + (unity_SHC.xyz * (
    (normal_18.x * normal_18.x)
   - 
    (normal_18.y * normal_18.y)
  )));
}


#endif
#ifdef FRAGMENT
#extension GL_EXT_shader_texture_lod : enable
lowp vec4 impl_low_textureCubeLodEXT(lowp samplerCube sampler, highp vec3 coord, mediump float lod)
{
#if defined(GL_EXT_shader_texture_lod)
	return textureCubeLodEXT(sampler, coord, lod);
#else
	return textureCube(sampler, coord, lod);
#endif
}

uniform highp vec3 _WorldSpaceCameraPos;
uniform mediump vec4 _WorldSpaceLightPos0;
uniform mediump vec4 unity_SHAr;
uniform mediump vec4 unity_SHAg;
uniform mediump vec4 unity_SHAb;
uniform lowp samplerCube unity_SpecCube0;
uniform mediump vec4 unity_SpecCube0_HDR;
uniform mediump vec4 unity_ColorSpaceDielectricSpec;
uniform lowp vec4 _LightColor0;
uniform mediump vec4 unity_LightGammaCorrectionConsts;
uniform sampler2D _MainTex;
uniform sampler2D _BumpMap;
uniform sampler2D _SpecTex;
uniform lowp samplerCube _Cube;
uniform lowp float _MetallicIntensity;
uniform lowp float _SmoothnessIntensity;
uniform lowp float _Cubepower;
varying highp vec4 xlv_TEXCOORD0;
varying highp vec4 xlv_TEXCOORD1;
varying highp vec4 xlv_TEXCOORD2;
varying highp vec4 xlv_TEXCOORD3;
varying mediump vec3 xlv_TEXCOORD4;
void main ()
{
  mediump vec3 tmpvar_1;
  highp vec4 tmpvar_2;
  mediump vec3 tmpvar_3;
  mediump vec3 tmpvar_4;
  lowp vec3 worldN_5;
  lowp vec4 c_6;
  lowp vec3 worldViewDir_7;
  lowp vec3 lightDir_8;
  highp vec3 tmpvar_9;
  mediump vec3 tmpvar_10;
  mediump vec3 tmpvar_11;
  mediump vec3 tmpvar_12;
  highp vec3 tmpvar_13;
  tmpvar_13.x = xlv_TEXCOORD1.w;
  tmpvar_13.y = xlv_TEXCOORD2.w;
  tmpvar_13.z = xlv_TEXCOORD3.w;
  mediump vec3 tmpvar_14;
  tmpvar_14 = _WorldSpaceLightPos0.xyz;
  lightDir_8 = tmpvar_14;
  highp vec3 tmpvar_15;
  tmpvar_15 = normalize((_WorldSpaceCameraPos - tmpvar_13));
  worldViewDir_7 = tmpvar_15;
  tmpvar_9 = -(worldViewDir_7);
  tmpvar_10 = xlv_TEXCOORD1.xyz;
  tmpvar_11 = xlv_TEXCOORD2.xyz;
  tmpvar_12 = xlv_TEXCOORD3.xyz;
  lowp vec3 tmpvar_16;
  mediump vec3 tmpvar_17;
  mediump float tmpvar_18;
  mediump float tmpvar_19;
  lowp vec3 tmpvar_20;
  tmpvar_20 = ((texture2D (_BumpMap, xlv_TEXCOORD0.zw).xyz * 2.0) - 1.0);
  lowp vec4 tmpvar_21;
  tmpvar_21 = texture2D (_SpecTex, xlv_TEXCOORD0.xy);
  tmpvar_16 = texture2D (_MainTex, xlv_TEXCOORD0.xy).xyz;
  tmpvar_19 = (tmpvar_21.x * _SmoothnessIntensity);
  tmpvar_18 = (tmpvar_21.y * _MetallicIntensity);
  mediump vec3 tmpvar_22;
  tmpvar_22.x = dot (tmpvar_10, tmpvar_20);
  tmpvar_22.y = dot (tmpvar_11, tmpvar_20);
  tmpvar_22.z = dot (tmpvar_12, tmpvar_20);
  highp vec3 tmpvar_23;
  tmpvar_23 = (tmpvar_9 - (2.0 * (
    dot (tmpvar_22, tmpvar_9)
   * tmpvar_22)));
  lowp vec4 tmpvar_24;
  tmpvar_24 = textureCube (_Cube, tmpvar_23);
  tmpvar_17 = ((tmpvar_24.xyz * tmpvar_21.z) * _Cubepower);
  highp float tmpvar_25;
  tmpvar_25 = dot (xlv_TEXCOORD1.xyz, tmpvar_20);
  worldN_5.x = tmpvar_25;
  highp float tmpvar_26;
  tmpvar_26 = dot (xlv_TEXCOORD2.xyz, tmpvar_20);
  worldN_5.y = tmpvar_26;
  highp float tmpvar_27;
  tmpvar_27 = dot (xlv_TEXCOORD3.xyz, tmpvar_20);
  worldN_5.z = tmpvar_27;
  tmpvar_3 = _LightColor0.xyz;
  tmpvar_4 = lightDir_8;
  mediump vec3 normal_28;
  normal_28 = worldN_5;
  tmpvar_1 = worldViewDir_7;
  tmpvar_2 = unity_SpecCube0_HDR;
  mediump vec3 I_29;
  I_29 = -(tmpvar_1);
  mediump vec3 normalWorld_30;
  normalWorld_30 = worldN_5;
  mediump vec4 tmpvar_31;
  tmpvar_31.w = 1.0;
  tmpvar_31.xyz = normalWorld_30;
  mediump vec3 x1_32;
  x1_32.x = dot (unity_SHAr, tmpvar_31);
  x1_32.y = dot (unity_SHAg, tmpvar_31);
  x1_32.z = dot (unity_SHAb, tmpvar_31);
  mediump vec4 hdr_33;
  hdr_33 = tmpvar_2;
  mediump vec4 tmpvar_34;
  tmpvar_34.xyz = (I_29 - (2.0 * (
    dot (worldN_5, I_29)
   * worldN_5)));
  tmpvar_34.w = (pow ((1.0 - tmpvar_19), 0.75) * 7.0);
  lowp vec4 tmpvar_35;
  tmpvar_35 = impl_low_textureCubeLodEXT (unity_SpecCube0, tmpvar_34.xyz, tmpvar_34.w);
  mediump vec4 tmpvar_36;
  tmpvar_36 = tmpvar_35;
  lowp vec3 tmpvar_37;
  mediump vec3 viewDir_38;
  viewDir_38 = worldViewDir_7;
  mediump vec4 c_39;
  lowp vec3 tmpvar_40;
  tmpvar_40 = normalize(worldN_5);
  mediump vec3 tmpvar_41;
  mediump vec3 albedo_42;
  albedo_42 = tmpvar_16;
  mediump vec3 tmpvar_43;
  tmpvar_43 = mix (unity_ColorSpaceDielectricSpec.xyz, albedo_42, vec3(tmpvar_18));
  mediump float tmpvar_44;
  tmpvar_44 = (unity_ColorSpaceDielectricSpec.w - (tmpvar_18 * unity_ColorSpaceDielectricSpec.w));
  tmpvar_41 = (albedo_42 * tmpvar_44);
  tmpvar_37 = tmpvar_41;
  mediump vec3 diffColor_45;
  diffColor_45 = tmpvar_37;
  tmpvar_37 = diffColor_45;
  mediump vec3 diffColor_46;
  diffColor_46 = tmpvar_37;
  mediump vec3 normal_47;
  normal_47 = tmpvar_40;
  mediump vec3 tmpvar_48;
  mediump vec3 inVec_49;
  inVec_49 = (tmpvar_4 + viewDir_38);
  tmpvar_48 = (inVec_49 * inversesqrt(max (0.001, 
    dot (inVec_49, inVec_49)
  )));
  mediump float tmpvar_50;
  tmpvar_50 = max (0.0, dot (tmpvar_4, tmpvar_48));
  mediump float tmpvar_51;
  tmpvar_51 = (1.0 - tmpvar_19);
  mediump float tmpvar_52;
  mediump float tmpvar_53;
  tmpvar_53 = max ((10.0 / log2(
    (((1.0 - tmpvar_51) * 0.968) + 0.03)
  )), -255.937);
  tmpvar_52 = (tmpvar_53 * tmpvar_53);
  mediump float x_54;
  x_54 = (1.0 - max (0.0, dot (normal_47, viewDir_38)));
  c_39.xyz = (((
    ((diffColor_46 + (clamp (
      (((tmpvar_52 + 1.0) * pow (max (0.0, 
        dot (normal_47, tmpvar_48)
      ), tmpvar_52)) / (((unity_LightGammaCorrectionConsts.z * 
        (((tmpvar_50 * tmpvar_50) * tmpvar_19) + (tmpvar_51 * tmpvar_51))
      ) * tmpvar_50) + 0.0001))
    , 0.0, 100.0) * tmpvar_43)) * tmpvar_3)
   * 
    max (0.0, dot (normal_28, tmpvar_4))
  ) + (
    (xlv_TEXCOORD4 + x1_32)
   * diffColor_46)) + ((
    (hdr_33.x * tmpvar_36.w)
   * tmpvar_36.xyz) * mix (tmpvar_43, vec3(
    clamp ((tmpvar_19 + (1.0 - tmpvar_44)), 0.0, 1.0)
  ), vec3(
    ((x_54 * x_54) * (x_54 * x_54))
  ))));
  c_39.w = 0.0;
  c_6 = c_39;
  c_6.xyz = (c_6.xyz + tmpvar_17);
  c_6.w = 1.0;
  gl_FragData[0] = c_6;
}


#endif
"
}
SubProgram "gles3 " {
Keywords { "DIRECTIONAL" "SHADOWS_OFF" "LIGHTMAP_OFF" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" }
"!!GLES3
#ifdef VERTEX
#version 300 es
precision highp float;
precision highp int;
uniform 	vec4 _Time;
uniform 	vec4 _SinTime;
uniform 	vec4 _CosTime;
uniform 	vec4 unity_DeltaTime;
uniform 	vec3 _WorldSpaceCameraPos;
uniform 	vec4 _ProjectionParams;
uniform 	vec4 _ScreenParams;
uniform 	vec4 _ZBufferParams;
uniform 	vec4 unity_OrthoParams;
uniform 	vec4 unity_CameraWorldClipPlanes[6];
uniform 	mat4 unity_CameraProjection;
uniform 	mat4 unity_CameraInvProjection;
uniform 	mediump vec4 _WorldSpaceLightPos0;
uniform 	vec4 _LightPositionRange;
uniform 	vec4 unity_4LightPosX0;
uniform 	vec4 unity_4LightPosY0;
uniform 	vec4 unity_4LightPosZ0;
uniform 	mediump vec4 unity_4LightAtten0;
uniform 	mediump vec4 unity_LightColor[8];
uniform 	vec4 unity_LightPosition[8];
uniform 	mediump vec4 unity_LightAtten[8];
uniform 	vec4 unity_SpotDirection[8];
uniform 	mediump vec4 unity_SHAr;
uniform 	mediump vec4 unity_SHAg;
uniform 	mediump vec4 unity_SHAb;
uniform 	mediump vec4 unity_SHBr;
uniform 	mediump vec4 unity_SHBg;
uniform 	mediump vec4 unity_SHBb;
uniform 	mediump vec4 unity_SHC;
uniform 	mediump vec3 unity_LightColor0;
uniform 	mediump vec3 unity_LightColor1;
uniform 	mediump vec3 unity_LightColor2;
uniform 	mediump vec3 unity_LightColor3;
uniform 	vec4 unity_ShadowSplitSpheres[4];
uniform 	vec4 unity_ShadowSplitSqRadii;
uniform 	vec4 unity_LightShadowBias;
uniform 	vec4 _LightSplitsNear;
uniform 	vec4 _LightSplitsFar;
uniform 	mat4 unity_World2Shadow[4];
uniform 	mediump vec4 _LightShadowData;
uniform 	vec4 unity_ShadowFadeCenterAndType;
uniform 	mat4 glstate_matrix_mvp;
uniform 	mat4 glstate_matrix_modelview0;
uniform 	mat4 glstate_matrix_invtrans_modelview0;
uniform 	mat4 _Object2World;
uniform 	mat4 _World2Object;
uniform 	vec4 unity_LODFade;
uniform 	vec4 unity_WorldTransformParams;
uniform 	mat4 glstate_matrix_transpose_modelview0;
uniform 	mat4 glstate_matrix_projection;
uniform 	lowp vec4 glstate_lightmodel_ambient;
uniform 	mat4 unity_MatrixV;
uniform 	mat4 unity_MatrixVP;
uniform 	lowp vec4 unity_AmbientSky;
uniform 	lowp vec4 unity_AmbientEquator;
uniform 	lowp vec4 unity_AmbientGround;
uniform 	lowp vec4 unity_FogColor;
uniform 	vec4 unity_FogParams;
uniform 	vec4 unity_LightmapST;
uniform 	vec4 unity_DynamicLightmapST;
uniform 	vec4 unity_SpecCube0_BoxMax;
uniform 	vec4 unity_SpecCube0_BoxMin;
uniform 	vec4 unity_SpecCube0_ProbePosition;
uniform 	mediump vec4 unity_SpecCube0_HDR;
uniform 	vec4 unity_SpecCube1_BoxMax;
uniform 	vec4 unity_SpecCube1_BoxMin;
uniform 	vec4 unity_SpecCube1_ProbePosition;
uniform 	mediump vec4 unity_SpecCube1_HDR;
uniform 	lowp vec4 unity_ColorSpaceGrey;
uniform 	lowp vec4 unity_ColorSpaceDouble;
uniform 	mediump vec4 unity_ColorSpaceDielectricSpec;
uniform 	mediump vec4 unity_ColorSpaceLuminance;
uniform 	mediump vec4 unity_Lightmap_HDR;
uniform 	mediump vec4 unity_DynamicLightmap_HDR;
uniform 	lowp vec4 _LightColor0;
uniform 	lowp vec4 _SpecColor;
uniform 	mediump vec4 unity_LightGammaCorrectionConsts;
uniform 	lowp float _MetallicIntensity;
uniform 	lowp float _SmoothnessIntensity;
uniform 	lowp float _Cubepower;
uniform 	vec4 _MainTex_ST;
uniform 	vec4 _BumpMap_ST;
in highp vec4 in_POSITION0;
in highp vec4 in_TANGENT0;
in highp vec3 in_NORMAL0;
in highp vec4 in_TEXCOORD0;
out highp vec4 vs_TEXCOORD0;
out highp vec4 vs_TEXCOORD1;
out highp vec4 vs_TEXCOORD2;
out highp vec4 vs_TEXCOORD3;
out mediump vec3 vs_TEXCOORD4;
highp vec4 t0;
mediump vec4 t16_0;
highp vec4 t1;
lowp vec3 t10_2;
highp vec3 t3;
mediump float t16_4;
mediump vec3 t16_5;
highp float t19;
void main()
{
    t0 = in_POSITION0.yyyy * glstate_matrix_mvp[1];
    t0 = glstate_matrix_mvp[0] * in_POSITION0.xxxx + t0;
    t0 = glstate_matrix_mvp[2] * in_POSITION0.zzzz + t0;
    gl_Position = glstate_matrix_mvp[3] * in_POSITION0.wwww + t0;
    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
    vs_TEXCOORD0.zw = in_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
    t0.x = in_NORMAL0.x * _World2Object[0].x;
    t0.y = in_NORMAL0.x * _World2Object[1].x;
    t0.zw = in_NORMAL0.xx * _World2Object[2].xx;
    t1.x = in_NORMAL0.y * _World2Object[0].y;
    t1.y = in_NORMAL0.y * _World2Object[1].y;
    t1.zw = in_NORMAL0.yy * _World2Object[2].yy;
    t0 = t0 + t1;
    t1.x = in_NORMAL0.z * _World2Object[0].z;
    t1.y = in_NORMAL0.z * _World2Object[1].z;
    t1.zw = in_NORMAL0.zz * _World2Object[2].zz;
    t0 = t0 + t1;
    t1.x = dot(t0.xyw, t0.xyw);
    t1.x = inversesqrt(t1.x);
    t0 = t0 * t1.xxxx;
    t1.xyz = in_TANGENT0.yyy * _Object2World[1].yzx;
    t1.xyz = _Object2World[0].yzx * in_TANGENT0.xxx + t1.xyz;
    t1.xyz = _Object2World[2].yzx * in_TANGENT0.zzz + t1.xyz;
    t19 = dot(t1.xyz, t1.xyz);
    t19 = inversesqrt(t19);
    t1.xyz = vec3(t19) * t1.xyz;
    t10_2.xyz = t0.wxy * t1.xyz;
    t10_2.xyz = t0.ywx * t1.yzx + (-t10_2.xyz);
    t19 = in_TANGENT0.w * unity_WorldTransformParams.w;
    t10_2.xyz = vec3(t19) * t10_2.xyz;
    vs_TEXCOORD1.y = t10_2.x;
    vs_TEXCOORD1.z = t0.x;
    t3.xyz = in_POSITION0.yyy * _Object2World[1].xyz;
    t3.xyz = _Object2World[0].xyz * in_POSITION0.xxx + t3.xyz;
    t3.xyz = _Object2World[2].xyz * in_POSITION0.zzz + t3.xyz;
    t3.xyz = _Object2World[3].xyz * in_POSITION0.www + t3.xyz;
    vs_TEXCOORD1.w = t3.x;
    vs_TEXCOORD1.x = t1.z;
    vs_TEXCOORD2.x = t1.x;
    vs_TEXCOORD3.x = t1.y;
    vs_TEXCOORD2.w = t3.y;
    vs_TEXCOORD3.w = t3.z;
    vs_TEXCOORD2.z = t0.y;
    vs_TEXCOORD2.y = t10_2.y;
    vs_TEXCOORD3.y = t10_2.z;
    vs_TEXCOORD3.z = t0.w;
    t16_4 = t0.y * t0.y;
    t16_4 = t0.x * t0.x + (-t16_4);
    t16_0 = t0.ywzx * t0;
    t16_5.x = dot(unity_SHBr, t16_0);
    t16_5.y = dot(unity_SHBg, t16_0);
    t16_5.z = dot(unity_SHBb, t16_0);
    vs_TEXCOORD4.xyz = unity_SHC.xyz * vec3(t16_4) + t16_5.xyz;
    return;
}

#endif
#ifdef FRAGMENT
#version 300 es
precision highp float;
precision highp int;
uniform 	vec4 _Time;
uniform 	vec4 _SinTime;
uniform 	vec4 _CosTime;
uniform 	vec4 unity_DeltaTime;
uniform 	vec3 _WorldSpaceCameraPos;
uniform 	vec4 _ProjectionParams;
uniform 	vec4 _ScreenParams;
uniform 	vec4 _ZBufferParams;
uniform 	vec4 unity_OrthoParams;
uniform 	vec4 unity_CameraWorldClipPlanes[6];
uniform 	mat4 unity_CameraProjection;
uniform 	mat4 unity_CameraInvProjection;
uniform 	mediump vec4 _WorldSpaceLightPos0;
uniform 	vec4 _LightPositionRange;
uniform 	vec4 unity_4LightPosX0;
uniform 	vec4 unity_4LightPosY0;
uniform 	vec4 unity_4LightPosZ0;
uniform 	mediump vec4 unity_4LightAtten0;
uniform 	mediump vec4 unity_LightColor[8];
uniform 	vec4 unity_LightPosition[8];
uniform 	mediump vec4 unity_LightAtten[8];
uniform 	vec4 unity_SpotDirection[8];
uniform 	mediump vec4 unity_SHAr;
uniform 	mediump vec4 unity_SHAg;
uniform 	mediump vec4 unity_SHAb;
uniform 	mediump vec4 unity_SHBr;
uniform 	mediump vec4 unity_SHBg;
uniform 	mediump vec4 unity_SHBb;
uniform 	mediump vec4 unity_SHC;
uniform 	mediump vec3 unity_LightColor0;
uniform 	mediump vec3 unity_LightColor1;
uniform 	mediump vec3 unity_LightColor2;
uniform 	mediump vec3 unity_LightColor3;
uniform 	vec4 unity_ShadowSplitSpheres[4];
uniform 	vec4 unity_ShadowSplitSqRadii;
uniform 	vec4 unity_LightShadowBias;
uniform 	vec4 _LightSplitsNear;
uniform 	vec4 _LightSplitsFar;
uniform 	mat4 unity_World2Shadow[4];
uniform 	mediump vec4 _LightShadowData;
uniform 	vec4 unity_ShadowFadeCenterAndType;
uniform 	mat4 glstate_matrix_mvp;
uniform 	mat4 glstate_matrix_modelview0;
uniform 	mat4 glstate_matrix_invtrans_modelview0;
uniform 	mat4 _Object2World;
uniform 	mat4 _World2Object;
uniform 	vec4 unity_LODFade;
uniform 	vec4 unity_WorldTransformParams;
uniform 	mat4 glstate_matrix_transpose_modelview0;
uniform 	mat4 glstate_matrix_projection;
uniform 	lowp vec4 glstate_lightmodel_ambient;
uniform 	mat4 unity_MatrixV;
uniform 	mat4 unity_MatrixVP;
uniform 	lowp vec4 unity_AmbientSky;
uniform 	lowp vec4 unity_AmbientEquator;
uniform 	lowp vec4 unity_AmbientGround;
uniform 	lowp vec4 unity_FogColor;
uniform 	vec4 unity_FogParams;
uniform 	vec4 unity_LightmapST;
uniform 	vec4 unity_DynamicLightmapST;
uniform 	vec4 unity_SpecCube0_BoxMax;
uniform 	vec4 unity_SpecCube0_BoxMin;
uniform 	vec4 unity_SpecCube0_ProbePosition;
uniform 	mediump vec4 unity_SpecCube0_HDR;
uniform 	vec4 unity_SpecCube1_BoxMax;
uniform 	vec4 unity_SpecCube1_BoxMin;
uniform 	vec4 unity_SpecCube1_ProbePosition;
uniform 	mediump vec4 unity_SpecCube1_HDR;
uniform 	lowp vec4 unity_ColorSpaceGrey;
uniform 	lowp vec4 unity_ColorSpaceDouble;
uniform 	mediump vec4 unity_ColorSpaceDielectricSpec;
uniform 	mediump vec4 unity_ColorSpaceLuminance;
uniform 	mediump vec4 unity_Lightmap_HDR;
uniform 	mediump vec4 unity_DynamicLightmap_HDR;
uniform 	lowp vec4 _LightColor0;
uniform 	lowp vec4 _SpecColor;
uniform 	mediump vec4 unity_LightGammaCorrectionConsts;
uniform 	lowp float _MetallicIntensity;
uniform 	lowp float _SmoothnessIntensity;
uniform 	lowp float _Cubepower;
uniform 	vec4 _MainTex_ST;
uniform 	vec4 _BumpMap_ST;
uniform lowp sampler2D _MainTex;
uniform lowp sampler2D _BumpMap;
uniform lowp sampler2D _SpecTex;
uniform lowp samplerCube _Cube;
uniform lowp samplerCube unity_SpecCube0;
in highp vec4 vs_TEXCOORD0;
in highp vec4 vs_TEXCOORD1;
in highp vec4 vs_TEXCOORD2;
in highp vec4 vs_TEXCOORD3;
in mediump vec3 vs_TEXCOORD4;
layout(location = 0) out lowp vec4 SV_Target0;
highp vec3 t0;
mediump vec3 t16_0;
lowp vec3 t10_0;
mediump vec4 t16_1;
lowp vec3 t10_2;
mediump vec3 t16_3;
lowp vec4 t10_4;
highp vec4 t5;
lowp vec4 t10_5;
lowp vec3 t10_6;
lowp vec3 t10_7;
mediump vec3 t16_8;
mediump vec3 t16_9;
mediump vec3 t16_11;
mediump float t16_12;
mediump vec3 t16_13;
mediump float t16_21;
highp float t30;
mediump float t16_30;
mediump float t16_31;
void main()
{
    t0.x = vs_TEXCOORD1.w;
    t0.y = vs_TEXCOORD2.w;
    t0.z = vs_TEXCOORD3.w;
    t0.xyz = (-t0.xyz) + _WorldSpaceCameraPos.xyzx.xyz;
    t30 = dot(t0.xyz, t0.xyz);
    t30 = inversesqrt(t30);
    t16_1.xyz = t0.xyz * vec3(t30) + _WorldSpaceLightPos0.xyz;
    t0.xyz = vec3(t30) * t0.xyz;
    t16_31 = dot(t16_1.xyz, t16_1.xyz);
    t16_30 = max(t16_31, 0.00100000005);
    t16_31 = inversesqrt(t16_30);
    t16_1.xyz = vec3(t16_31) * t16_1.xyz;
    t16_31 = dot(_WorldSpaceLightPos0.xyz, t16_1.xyz);
    t16_30 = max(t16_31, 0.0);
    t16_31 = t16_30 * t16_30;
    t10_2.xyz = texture(_SpecTex, vs_TEXCOORD0.xy).xyz;
    t16_3.x = (-t10_2.x) * _SmoothnessIntensity + 1.0;
    t16_13.x = t16_3.x * t16_3.x;
    t10_4.xy = t10_2.xy * vec2(_SmoothnessIntensity, _MetallicIntensity);
    t16_31 = t16_31 * t10_4.x + t16_13.x;
    t16_31 = t16_31 * unity_LightGammaCorrectionConsts.z;
    t16_30 = t16_31 * t16_30 + 9.99999975e-05;
    t16_31 = (-t16_3.x) + 1.0;
    t16_3.x = log2(t16_3.x);
    t16_3.x = t16_3.x * 0.75;
    t16_3.x = exp2(t16_3.x);
    t16_3.x = t16_3.x * 7.0;
    t16_31 = t16_31 * 0.967999995 + 0.0299999993;
    t16_31 = log2(t16_31);
    t16_31 = 10.0 / t16_31;
    t16_11.z = max(t16_31, -255.936996);
    t16_13.x = t16_11.z * t16_11.z + 1.0;
    t10_5.xyz = texture(_BumpMap, vs_TEXCOORD0.zw).xyz;
    t10_4.xzw = t10_5.xyz * vec3(2.0, 2.0, 2.0) + vec3(-1.0, -1.0, -1.0);
    t5.x = dot(vs_TEXCOORD1.xyz, t10_4.xzw);
    t5.y = dot(vs_TEXCOORD2.xyz, t10_4.xzw);
    t5.z = dot(vs_TEXCOORD3.xyz, t10_4.xzw);
    t10_6.x = dot(t5.xyz, t5.xyz);
    t10_6.x = inversesqrt(t10_6.x);
    t10_6.xyz = t5.xyz * t10_6.xxx;
    t16_1.x = dot(t10_6.xyz, t16_1.xyz);
    t16_11.x = dot(t10_6.xyz, t0.xyz);
    t16_12 = max(t16_11.x, 0.0);
    t16_11.x = (-t16_12) + 1.0;
    t16_1.yw = t16_11.xz * t16_11.xz;
    t16_12 = max(t16_1.x, 0.0);
    t16_1.x = log2(t16_12);
    t16_1.xy = vec2(t16_1.x * t16_1.w, t16_1.y * t16_1.y);
    t16_1.x = exp2(t16_1.x);
    t16_1.x = t16_1.x * t16_13.x;
    t16_30 = t16_1.x / t16_30;
    t16_1.x = max(t16_30, 0.0);
    t16_1.x = min(t16_1.x, 100.0);
    t10_7.xyz = texture(_MainTex, vs_TEXCOORD0.xy).xyz;
    t16_13.xyz = t10_7.xyz + (-unity_ColorSpaceDielectricSpec.xyz);
    t16_13.xyz = t10_4.yyy * t16_13.xyz + unity_ColorSpaceDielectricSpec.xyz;
    t16_21 = (-t10_4.y) * unity_ColorSpaceDielectricSpec.w + unity_ColorSpaceDielectricSpec.w;
    t16_8.xyz = vec3(t16_21) * t10_7.xyz;
    t16_21 = (-t16_21) + 1.0;
    t16_21 = t10_2.x * _SmoothnessIntensity + t16_21;
    t16_21 = clamp(t16_21, 0.0, 1.0);
    t16_9.xyz = (-t16_13.xyz) + vec3(t16_21);
    t16_11.xyz = t16_1.yyy * t16_9.xyz + t16_13.xyz;
    t16_13.xyz = t16_1.xxx * t16_13.xyz + t16_8.xyz;
    t16_13.xyz = t16_13.xyz * _LightColor0.xyz;
    t5.w = 1.0;
    t16_9.x = dot(unity_SHAr, t5);
    t16_9.y = dot(unity_SHAg, t5);
    t16_9.z = dot(unity_SHAb, t5);
    t16_9.xyz = t16_9.xyz + vs_TEXCOORD4.xyz;
    t16_8.xyz = t16_8.xyz * t16_9.xyz;
    t16_1.x = dot(t5.xyz, _WorldSpaceLightPos0.xyz);
    t16_30 = max(t16_1.x, 0.0);
    t16_13.xyz = t16_13.xyz * vec3(t16_30) + t16_8.xyz;
    t16_1.x = dot((-t0.xyz), t5.xyz);
    t16_1.x = t16_1.x + t16_1.x;
    t16_8.xyz = t5.xyz * (-t16_1.xxx) + (-t0.xyz);
    t10_5 = textureLod(unity_SpecCube0, t16_8.xyz, t16_3.x);
    t16_1.x = t10_5.w * unity_SpecCube0_HDR.x;
    t16_8.xyz = t10_5.xyz * t16_1.xxx;
    t16_1.xyz = t16_8.xyz * t16_11.xyz + t16_13.xyz;
    t16_3.x = dot(vs_TEXCOORD1.xyz, t10_4.xzw);
    t16_3.y = dot(vs_TEXCOORD2.xyz, t10_4.xzw);
    t16_3.z = dot(vs_TEXCOORD3.xyz, t10_4.xzw);
    t30 = dot((-t0.xyz), t16_3.xyz);
    t30 = t30 + t30;
    t0.xyz = t16_3.xyz * (-vec3(t30)) + (-t0.xyz);
    t10_0.xyz = texture(_Cube, t0.xyz).xyz;
    t16_0.xyz = t10_2.zzz * t10_0.xyz;
    t16_1.xyz = t16_0.xyz * vec3(_Cubepower) + t16_1.xyz;
    SV_Target0.xyz = t16_1.xyz;
    SV_Target0.w = 1.0;
    return;
}

#endif
"
}
SubProgram "gles " {
Keywords { "DIRECTIONAL" "SHADOWS_OFF" "LIGHTMAP_OFF" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "VERTEXLIGHT_ON" }
"!!GLES
#version 100

#ifdef VERTEX
attribute vec4 _glesTANGENT;
attribute vec4 _glesVertex;
attribute vec3 _glesNormal;
attribute vec4 _glesMultiTexCoord0;
uniform highp vec4 unity_4LightPosX0;
uniform highp vec4 unity_4LightPosY0;
uniform highp vec4 unity_4LightPosZ0;
uniform mediump vec4 unity_4LightAtten0;
uniform mediump vec4 unity_LightColor[8];
uniform mediump vec4 unity_SHBr;
uniform mediump vec4 unity_SHBg;
uniform mediump vec4 unity_SHBb;
uniform mediump vec4 unity_SHC;
uniform highp mat4 glstate_matrix_mvp;
uniform highp mat4 _Object2World;
uniform highp mat4 _World2Object;
uniform highp vec4 unity_WorldTransformParams;
uniform highp vec4 _MainTex_ST;
uniform highp vec4 _BumpMap_ST;
varying highp vec4 xlv_TEXCOORD0;
varying highp vec4 xlv_TEXCOORD1;
varying highp vec4 xlv_TEXCOORD2;
varying highp vec4 xlv_TEXCOORD3;
varying mediump vec3 xlv_TEXCOORD4;
void main ()
{
  lowp float tangentSign_1;
  lowp vec3 worldTangent_2;
  lowp vec3 worldNormal_3;
  highp vec4 tmpvar_4;
  mediump vec3 tmpvar_5;
  tmpvar_4.xy = ((_glesMultiTexCoord0.xy * _MainTex_ST.xy) + _MainTex_ST.zw);
  tmpvar_4.zw = ((_glesMultiTexCoord0.xy * _BumpMap_ST.xy) + _BumpMap_ST.zw);
  highp vec3 tmpvar_6;
  tmpvar_6 = (_Object2World * _glesVertex).xyz;
  highp vec4 v_7;
  v_7.x = _World2Object[0].x;
  v_7.y = _World2Object[1].x;
  v_7.z = _World2Object[2].x;
  v_7.w = _World2Object[3].x;
  highp vec4 v_8;
  v_8.x = _World2Object[0].y;
  v_8.y = _World2Object[1].y;
  v_8.z = _World2Object[2].y;
  v_8.w = _World2Object[3].y;
  highp vec4 v_9;
  v_9.x = _World2Object[0].z;
  v_9.y = _World2Object[1].z;
  v_9.z = _World2Object[2].z;
  v_9.w = _World2Object[3].z;
  highp vec3 tmpvar_10;
  tmpvar_10 = normalize(((
    (v_7.xyz * _glesNormal.x)
   + 
    (v_8.xyz * _glesNormal.y)
  ) + (v_9.xyz * _glesNormal.z)));
  worldNormal_3 = tmpvar_10;
  highp mat3 tmpvar_11;
  tmpvar_11[0] = _Object2World[0].xyz;
  tmpvar_11[1] = _Object2World[1].xyz;
  tmpvar_11[2] = _Object2World[2].xyz;
  highp vec3 tmpvar_12;
  tmpvar_12 = normalize((tmpvar_11 * _glesTANGENT.xyz));
  worldTangent_2 = tmpvar_12;
  highp float tmpvar_13;
  tmpvar_13 = (_glesTANGENT.w * unity_WorldTransformParams.w);
  tangentSign_1 = tmpvar_13;
  lowp vec3 tmpvar_14;
  tmpvar_14 = (((worldNormal_3.yzx * worldTangent_2.zxy) - (worldNormal_3.zxy * worldTangent_2.yzx)) * tangentSign_1);
  highp vec4 tmpvar_15;
  tmpvar_15.x = worldTangent_2.x;
  tmpvar_15.y = tmpvar_14.x;
  tmpvar_15.z = worldNormal_3.x;
  tmpvar_15.w = tmpvar_6.x;
  highp vec4 tmpvar_16;
  tmpvar_16.x = worldTangent_2.y;
  tmpvar_16.y = tmpvar_14.y;
  tmpvar_16.z = worldNormal_3.y;
  tmpvar_16.w = tmpvar_6.y;
  highp vec4 tmpvar_17;
  tmpvar_17.x = worldTangent_2.z;
  tmpvar_17.y = tmpvar_14.z;
  tmpvar_17.z = worldNormal_3.z;
  tmpvar_17.w = tmpvar_6.z;
  lowp vec4 tmpvar_18;
  tmpvar_18.w = 1.0;
  tmpvar_18.xyz = worldNormal_3;
  mediump vec4 normal_19;
  normal_19 = tmpvar_18;
  mediump vec3 x2_20;
  mediump vec4 tmpvar_21;
  tmpvar_21 = (normal_19.xyzz * normal_19.yzzx);
  x2_20.x = dot (unity_SHBr, tmpvar_21);
  x2_20.y = dot (unity_SHBg, tmpvar_21);
  x2_20.z = dot (unity_SHBb, tmpvar_21);
  highp vec3 lightColor0_22;
  lightColor0_22 = unity_LightColor[0].xyz;
  highp vec3 lightColor1_23;
  lightColor1_23 = unity_LightColor[1].xyz;
  highp vec3 lightColor2_24;
  lightColor2_24 = unity_LightColor[2].xyz;
  highp vec3 lightColor3_25;
  lightColor3_25 = unity_LightColor[3].xyz;
  highp vec4 lightAttenSq_26;
  lightAttenSq_26 = unity_4LightAtten0;
  highp vec3 normal_27;
  normal_27 = worldNormal_3;
  highp vec3 col_28;
  highp vec4 ndotl_29;
  highp vec4 lengthSq_30;
  highp vec4 tmpvar_31;
  tmpvar_31 = (unity_4LightPosX0 - tmpvar_6.x);
  highp vec4 tmpvar_32;
  tmpvar_32 = (unity_4LightPosY0 - tmpvar_6.y);
  highp vec4 tmpvar_33;
  tmpvar_33 = (unity_4LightPosZ0 - tmpvar_6.z);
  lengthSq_30 = (tmpvar_31 * tmpvar_31);
  lengthSq_30 = (lengthSq_30 + (tmpvar_32 * tmpvar_32));
  lengthSq_30 = (lengthSq_30 + (tmpvar_33 * tmpvar_33));
  ndotl_29 = (tmpvar_31 * normal_27.x);
  ndotl_29 = (ndotl_29 + (tmpvar_32 * normal_27.y));
  ndotl_29 = (ndotl_29 + (tmpvar_33 * normal_27.z));
  highp vec4 tmpvar_34;
  tmpvar_34 = max (vec4(0.0, 0.0, 0.0, 0.0), (ndotl_29 * inversesqrt(lengthSq_30)));
  ndotl_29 = tmpvar_34;
  highp vec4 tmpvar_35;
  tmpvar_35 = (tmpvar_34 * (1.0/((1.0 + 
    (lengthSq_30 * lightAttenSq_26)
  ))));
  col_28 = (lightColor0_22 * tmpvar_35.x);
  col_28 = (col_28 + (lightColor1_23 * tmpvar_35.y));
  col_28 = (col_28 + (lightColor2_24 * tmpvar_35.z));
  col_28 = (col_28 + (lightColor3_25 * tmpvar_35.w));
  tmpvar_5 = ((x2_20 + (unity_SHC.xyz * 
    ((normal_19.x * normal_19.x) - (normal_19.y * normal_19.y))
  )) + col_28);
  gl_Position = (glstate_matrix_mvp * _glesVertex);
  xlv_TEXCOORD0 = tmpvar_4;
  xlv_TEXCOORD1 = tmpvar_15;
  xlv_TEXCOORD2 = tmpvar_16;
  xlv_TEXCOORD3 = tmpvar_17;
  xlv_TEXCOORD4 = tmpvar_5;
}


#endif
#ifdef FRAGMENT
#extension GL_EXT_shader_texture_lod : enable
lowp vec4 impl_low_textureCubeLodEXT(lowp samplerCube sampler, highp vec3 coord, mediump float lod)
{
#if defined(GL_EXT_shader_texture_lod)
	return textureCubeLodEXT(sampler, coord, lod);
#else
	return textureCube(sampler, coord, lod);
#endif
}

uniform highp vec3 _WorldSpaceCameraPos;
uniform mediump vec4 _WorldSpaceLightPos0;
uniform mediump vec4 unity_SHAr;
uniform mediump vec4 unity_SHAg;
uniform mediump vec4 unity_SHAb;
uniform lowp samplerCube unity_SpecCube0;
uniform mediump vec4 unity_SpecCube0_HDR;
uniform mediump vec4 unity_ColorSpaceDielectricSpec;
uniform lowp vec4 _LightColor0;
uniform mediump vec4 unity_LightGammaCorrectionConsts;
uniform sampler2D _MainTex;
uniform sampler2D _BumpMap;
uniform sampler2D _SpecTex;
uniform lowp samplerCube _Cube;
uniform lowp float _MetallicIntensity;
uniform lowp float _SmoothnessIntensity;
uniform lowp float _Cubepower;
varying highp vec4 xlv_TEXCOORD0;
varying highp vec4 xlv_TEXCOORD1;
varying highp vec4 xlv_TEXCOORD2;
varying highp vec4 xlv_TEXCOORD3;
varying mediump vec3 xlv_TEXCOORD4;
void main ()
{
  mediump vec3 tmpvar_1;
  highp vec4 tmpvar_2;
  mediump vec3 tmpvar_3;
  mediump vec3 tmpvar_4;
  lowp vec3 worldN_5;
  lowp vec4 c_6;
  lowp vec3 worldViewDir_7;
  lowp vec3 lightDir_8;
  highp vec3 tmpvar_9;
  mediump vec3 tmpvar_10;
  mediump vec3 tmpvar_11;
  mediump vec3 tmpvar_12;
  highp vec3 tmpvar_13;
  tmpvar_13.x = xlv_TEXCOORD1.w;
  tmpvar_13.y = xlv_TEXCOORD2.w;
  tmpvar_13.z = xlv_TEXCOORD3.w;
  mediump vec3 tmpvar_14;
  tmpvar_14 = _WorldSpaceLightPos0.xyz;
  lightDir_8 = tmpvar_14;
  highp vec3 tmpvar_15;
  tmpvar_15 = normalize((_WorldSpaceCameraPos - tmpvar_13));
  worldViewDir_7 = tmpvar_15;
  tmpvar_9 = -(worldViewDir_7);
  tmpvar_10 = xlv_TEXCOORD1.xyz;
  tmpvar_11 = xlv_TEXCOORD2.xyz;
  tmpvar_12 = xlv_TEXCOORD3.xyz;
  lowp vec3 tmpvar_16;
  mediump vec3 tmpvar_17;
  mediump float tmpvar_18;
  mediump float tmpvar_19;
  lowp vec3 tmpvar_20;
  tmpvar_20 = ((texture2D (_BumpMap, xlv_TEXCOORD0.zw).xyz * 2.0) - 1.0);
  lowp vec4 tmpvar_21;
  tmpvar_21 = texture2D (_SpecTex, xlv_TEXCOORD0.xy);
  tmpvar_16 = texture2D (_MainTex, xlv_TEXCOORD0.xy).xyz;
  tmpvar_19 = (tmpvar_21.x * _SmoothnessIntensity);
  tmpvar_18 = (tmpvar_21.y * _MetallicIntensity);
  mediump vec3 tmpvar_22;
  tmpvar_22.x = dot (tmpvar_10, tmpvar_20);
  tmpvar_22.y = dot (tmpvar_11, tmpvar_20);
  tmpvar_22.z = dot (tmpvar_12, tmpvar_20);
  highp vec3 tmpvar_23;
  tmpvar_23 = (tmpvar_9 - (2.0 * (
    dot (tmpvar_22, tmpvar_9)
   * tmpvar_22)));
  lowp vec4 tmpvar_24;
  tmpvar_24 = textureCube (_Cube, tmpvar_23);
  tmpvar_17 = ((tmpvar_24.xyz * tmpvar_21.z) * _Cubepower);
  highp float tmpvar_25;
  tmpvar_25 = dot (xlv_TEXCOORD1.xyz, tmpvar_20);
  worldN_5.x = tmpvar_25;
  highp float tmpvar_26;
  tmpvar_26 = dot (xlv_TEXCOORD2.xyz, tmpvar_20);
  worldN_5.y = tmpvar_26;
  highp float tmpvar_27;
  tmpvar_27 = dot (xlv_TEXCOORD3.xyz, tmpvar_20);
  worldN_5.z = tmpvar_27;
  tmpvar_3 = _LightColor0.xyz;
  tmpvar_4 = lightDir_8;
  mediump vec3 normal_28;
  normal_28 = worldN_5;
  tmpvar_1 = worldViewDir_7;
  tmpvar_2 = unity_SpecCube0_HDR;
  mediump vec3 I_29;
  I_29 = -(tmpvar_1);
  mediump vec3 normalWorld_30;
  normalWorld_30 = worldN_5;
  mediump vec4 tmpvar_31;
  tmpvar_31.w = 1.0;
  tmpvar_31.xyz = normalWorld_30;
  mediump vec3 x1_32;
  x1_32.x = dot (unity_SHAr, tmpvar_31);
  x1_32.y = dot (unity_SHAg, tmpvar_31);
  x1_32.z = dot (unity_SHAb, tmpvar_31);
  mediump vec4 hdr_33;
  hdr_33 = tmpvar_2;
  mediump vec4 tmpvar_34;
  tmpvar_34.xyz = (I_29 - (2.0 * (
    dot (worldN_5, I_29)
   * worldN_5)));
  tmpvar_34.w = (pow ((1.0 - tmpvar_19), 0.75) * 7.0);
  lowp vec4 tmpvar_35;
  tmpvar_35 = impl_low_textureCubeLodEXT (unity_SpecCube0, tmpvar_34.xyz, tmpvar_34.w);
  mediump vec4 tmpvar_36;
  tmpvar_36 = tmpvar_35;
  lowp vec3 tmpvar_37;
  mediump vec3 viewDir_38;
  viewDir_38 = worldViewDir_7;
  mediump vec4 c_39;
  lowp vec3 tmpvar_40;
  tmpvar_40 = normalize(worldN_5);
  mediump vec3 tmpvar_41;
  mediump vec3 albedo_42;
  albedo_42 = tmpvar_16;
  mediump vec3 tmpvar_43;
  tmpvar_43 = mix (unity_ColorSpaceDielectricSpec.xyz, albedo_42, vec3(tmpvar_18));
  mediump float tmpvar_44;
  tmpvar_44 = (unity_ColorSpaceDielectricSpec.w - (tmpvar_18 * unity_ColorSpaceDielectricSpec.w));
  tmpvar_41 = (albedo_42 * tmpvar_44);
  tmpvar_37 = tmpvar_41;
  mediump vec3 diffColor_45;
  diffColor_45 = tmpvar_37;
  tmpvar_37 = diffColor_45;
  mediump vec3 diffColor_46;
  diffColor_46 = tmpvar_37;
  mediump vec3 normal_47;
  normal_47 = tmpvar_40;
  mediump vec3 tmpvar_48;
  mediump vec3 inVec_49;
  inVec_49 = (tmpvar_4 + viewDir_38);
  tmpvar_48 = (inVec_49 * inversesqrt(max (0.001, 
    dot (inVec_49, inVec_49)
  )));
  mediump float tmpvar_50;
  tmpvar_50 = max (0.0, dot (tmpvar_4, tmpvar_48));
  mediump float tmpvar_51;
  tmpvar_51 = (1.0 - tmpvar_19);
  mediump float tmpvar_52;
  mediump float tmpvar_53;
  tmpvar_53 = max ((10.0 / log2(
    (((1.0 - tmpvar_51) * 0.968) + 0.03)
  )), -255.937);
  tmpvar_52 = (tmpvar_53 * tmpvar_53);
  mediump float x_54;
  x_54 = (1.0 - max (0.0, dot (normal_47, viewDir_38)));
  c_39.xyz = (((
    ((diffColor_46 + (clamp (
      (((tmpvar_52 + 1.0) * pow (max (0.0, 
        dot (normal_47, tmpvar_48)
      ), tmpvar_52)) / (((unity_LightGammaCorrectionConsts.z * 
        (((tmpvar_50 * tmpvar_50) * tmpvar_19) + (tmpvar_51 * tmpvar_51))
      ) * tmpvar_50) + 0.0001))
    , 0.0, 100.0) * tmpvar_43)) * tmpvar_3)
   * 
    max (0.0, dot (normal_28, tmpvar_4))
  ) + (
    (xlv_TEXCOORD4 + x1_32)
   * diffColor_46)) + ((
    (hdr_33.x * tmpvar_36.w)
   * tmpvar_36.xyz) * mix (tmpvar_43, vec3(
    clamp ((tmpvar_19 + (1.0 - tmpvar_44)), 0.0, 1.0)
  ), vec3(
    ((x_54 * x_54) * (x_54 * x_54))
  ))));
  c_39.w = 0.0;
  c_6 = c_39;
  c_6.xyz = (c_6.xyz + tmpvar_17);
  c_6.w = 1.0;
  gl_FragData[0] = c_6;
}


#endif
"
}
SubProgram "gles3 " {
Keywords { "DIRECTIONAL" "SHADOWS_OFF" "LIGHTMAP_OFF" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" "VERTEXLIGHT_ON" }
"!!GLES3
#ifdef VERTEX
#version 300 es
precision highp float;
precision highp int;
uniform 	vec4 _Time;
uniform 	vec4 _SinTime;
uniform 	vec4 _CosTime;
uniform 	vec4 unity_DeltaTime;
uniform 	vec3 _WorldSpaceCameraPos;
uniform 	vec4 _ProjectionParams;
uniform 	vec4 _ScreenParams;
uniform 	vec4 _ZBufferParams;
uniform 	vec4 unity_OrthoParams;
uniform 	vec4 unity_CameraWorldClipPlanes[6];
uniform 	mat4 unity_CameraProjection;
uniform 	mat4 unity_CameraInvProjection;
uniform 	mediump vec4 _WorldSpaceLightPos0;
uniform 	vec4 _LightPositionRange;
uniform 	vec4 unity_4LightPosX0;
uniform 	vec4 unity_4LightPosY0;
uniform 	vec4 unity_4LightPosZ0;
uniform 	mediump vec4 unity_4LightAtten0;
uniform 	mediump vec4 unity_LightColor[8];
uniform 	vec4 unity_LightPosition[8];
uniform 	mediump vec4 unity_LightAtten[8];
uniform 	vec4 unity_SpotDirection[8];
uniform 	mediump vec4 unity_SHAr;
uniform 	mediump vec4 unity_SHAg;
uniform 	mediump vec4 unity_SHAb;
uniform 	mediump vec4 unity_SHBr;
uniform 	mediump vec4 unity_SHBg;
uniform 	mediump vec4 unity_SHBb;
uniform 	mediump vec4 unity_SHC;
uniform 	mediump vec3 unity_LightColor0;
uniform 	mediump vec3 unity_LightColor1;
uniform 	mediump vec3 unity_LightColor2;
uniform 	mediump vec3 unity_LightColor3;
uniform 	vec4 unity_ShadowSplitSpheres[4];
uniform 	vec4 unity_ShadowSplitSqRadii;
uniform 	vec4 unity_LightShadowBias;
uniform 	vec4 _LightSplitsNear;
uniform 	vec4 _LightSplitsFar;
uniform 	mat4 unity_World2Shadow[4];
uniform 	mediump vec4 _LightShadowData;
uniform 	vec4 unity_ShadowFadeCenterAndType;
uniform 	mat4 glstate_matrix_mvp;
uniform 	mat4 glstate_matrix_modelview0;
uniform 	mat4 glstate_matrix_invtrans_modelview0;
uniform 	mat4 _Object2World;
uniform 	mat4 _World2Object;
uniform 	vec4 unity_LODFade;
uniform 	vec4 unity_WorldTransformParams;
uniform 	mat4 glstate_matrix_transpose_modelview0;
uniform 	mat4 glstate_matrix_projection;
uniform 	lowp vec4 glstate_lightmodel_ambient;
uniform 	mat4 unity_MatrixV;
uniform 	mat4 unity_MatrixVP;
uniform 	lowp vec4 unity_AmbientSky;
uniform 	lowp vec4 unity_AmbientEquator;
uniform 	lowp vec4 unity_AmbientGround;
uniform 	lowp vec4 unity_FogColor;
uniform 	vec4 unity_FogParams;
uniform 	vec4 unity_LightmapST;
uniform 	vec4 unity_DynamicLightmapST;
uniform 	vec4 unity_SpecCube0_BoxMax;
uniform 	vec4 unity_SpecCube0_BoxMin;
uniform 	vec4 unity_SpecCube0_ProbePosition;
uniform 	mediump vec4 unity_SpecCube0_HDR;
uniform 	vec4 unity_SpecCube1_BoxMax;
uniform 	vec4 unity_SpecCube1_BoxMin;
uniform 	vec4 unity_SpecCube1_ProbePosition;
uniform 	mediump vec4 unity_SpecCube1_HDR;
uniform 	lowp vec4 unity_ColorSpaceGrey;
uniform 	lowp vec4 unity_ColorSpaceDouble;
uniform 	mediump vec4 unity_ColorSpaceDielectricSpec;
uniform 	mediump vec4 unity_ColorSpaceLuminance;
uniform 	mediump vec4 unity_Lightmap_HDR;
uniform 	mediump vec4 unity_DynamicLightmap_HDR;
uniform 	lowp vec4 _LightColor0;
uniform 	lowp vec4 _SpecColor;
uniform 	mediump vec4 unity_LightGammaCorrectionConsts;
uniform 	lowp float _MetallicIntensity;
uniform 	lowp float _SmoothnessIntensity;
uniform 	lowp float _Cubepower;
uniform 	vec4 _MainTex_ST;
uniform 	vec4 _BumpMap_ST;
in highp vec4 in_POSITION0;
in highp vec4 in_TANGENT0;
in highp vec3 in_NORMAL0;
in highp vec4 in_TEXCOORD0;
out highp vec4 vs_TEXCOORD0;
out highp vec4 vs_TEXCOORD1;
out highp vec4 vs_TEXCOORD2;
out highp vec4 vs_TEXCOORD3;
out mediump vec3 vs_TEXCOORD4;
highp vec4 t0;
highp vec4 t1;
mediump vec4 t16_1;
highp vec4 t2;
highp vec4 t3;
lowp vec3 t10_3;
highp vec4 t4;
mediump vec3 t16_5;
mediump vec3 t16_6;
highp vec3 t7;
void main()
{
    t0 = in_POSITION0.yyyy * glstate_matrix_mvp[1];
    t0 = glstate_matrix_mvp[0] * in_POSITION0.xxxx + t0;
    t0 = glstate_matrix_mvp[2] * in_POSITION0.zzzz + t0;
    gl_Position = glstate_matrix_mvp[3] * in_POSITION0.wwww + t0;
    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
    vs_TEXCOORD0.zw = in_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
    t0.x = in_TANGENT0.w * unity_WorldTransformParams.w;
    t7.xyz = in_TANGENT0.yyy * _Object2World[1].yzx;
    t7.xyz = _Object2World[0].yzx * in_TANGENT0.xxx + t7.xyz;
    t7.xyz = _Object2World[2].yzx * in_TANGENT0.zzz + t7.xyz;
    t1.x = dot(t7.xyz, t7.xyz);
    t1.x = inversesqrt(t1.x);
    t7.xyz = t7.xyz * t1.xxx;
    t1.x = in_NORMAL0.x * _World2Object[0].x;
    t1.y = in_NORMAL0.x * _World2Object[1].x;
    t1.zw = in_NORMAL0.xx * _World2Object[2].xx;
    t2.x = in_NORMAL0.y * _World2Object[0].y;
    t2.y = in_NORMAL0.y * _World2Object[1].y;
    t2.zw = in_NORMAL0.yy * _World2Object[2].yy;
    t1 = t1 + t2;
    t2.x = in_NORMAL0.z * _World2Object[0].z;
    t2.y = in_NORMAL0.z * _World2Object[1].z;
    t2.zw = in_NORMAL0.zz * _World2Object[2].zz;
    t1 = t1 + t2;
    t2.x = dot(t1.xyw, t1.xyw);
    t2.x = inversesqrt(t2.x);
    t1 = t1 * t2.xxxx;
    t10_3.xyz = t7.xyz * t1.wxy;
    t10_3.xyz = t1.ywx * t7.yzx + (-t10_3.xyz);
    t10_3.xyz = t0.xxx * t10_3.xyz;
    vs_TEXCOORD1.y = t10_3.x;
    vs_TEXCOORD1.x = t7.z;
    vs_TEXCOORD1.z = t1.x;
    t2.xyz = in_POSITION0.yyy * _Object2World[1].xyz;
    t2.xyz = _Object2World[0].xyz * in_POSITION0.xxx + t2.xyz;
    t2.xyz = _Object2World[2].xyz * in_POSITION0.zzz + t2.xyz;
    t2.xyz = _Object2World[3].xyz * in_POSITION0.www + t2.xyz;
    vs_TEXCOORD1.w = t2.x;
    vs_TEXCOORD2.x = t7.x;
    vs_TEXCOORD3.x = t7.y;
    vs_TEXCOORD2.y = t10_3.y;
    vs_TEXCOORD3.y = t10_3.z;
    vs_TEXCOORD2.z = t1.y;
    vs_TEXCOORD2.w = t2.y;
    vs_TEXCOORD3.z = t1.w;
    vs_TEXCOORD3.w = t2.z;
    t0 = (-t2.yyyy) + unity_4LightPosY0;
    t3 = t1.yyyy * t0;
    t0 = t0 * t0;
    t4 = (-t2.xxxx) + unity_4LightPosX0;
    t2 = (-t2.zzzz) + unity_4LightPosZ0;
    t3 = t4 * t1.xxxx + t3;
    t0 = t4 * t4 + t0;
    t0 = t2 * t2 + t0;
    t2 = t2 * t1.wwww + t3;
    t3 = inversesqrt(t0);
    t0 = t0 * unity_4LightAtten0 + vec4(1.0, 1.0, 1.0, 1.0);
    t0 = vec4(1.0, 1.0, 1.0, 1.0) / t0;
    t2 = t2 * t3;
    t2 = max(t2, vec4(0.0, 0.0, 0.0, 0.0));
    t0 = t0 * t2;
    t2.xyz = t0.yyy * unity_LightColor[1].xyz;
    t2.xyz = unity_LightColor[0].xyz * t0.xxx + t2.xyz;
    t0.xyz = unity_LightColor[2].xyz * t0.zzz + t2.xyz;
    t0.xyz = unity_LightColor[3].xyz * t0.www + t0.xyz;
    t16_5.x = t1.y * t1.y;
    t16_5.x = t1.x * t1.x + (-t16_5.x);
    t16_1 = t1.ywzx * t1;
    t16_6.x = dot(unity_SHBr, t16_1);
    t16_6.y = dot(unity_SHBg, t16_1);
    t16_6.z = dot(unity_SHBb, t16_1);
    t16_5.xyz = unity_SHC.xyz * t16_5.xxx + t16_6.xyz;
    t0.xyz = t0.xyz + t16_5.xyz;
    vs_TEXCOORD4.xyz = t0.xyz;
    return;
}

#endif
#ifdef FRAGMENT
#version 300 es
precision highp float;
precision highp int;
uniform 	vec4 _Time;
uniform 	vec4 _SinTime;
uniform 	vec4 _CosTime;
uniform 	vec4 unity_DeltaTime;
uniform 	vec3 _WorldSpaceCameraPos;
uniform 	vec4 _ProjectionParams;
uniform 	vec4 _ScreenParams;
uniform 	vec4 _ZBufferParams;
uniform 	vec4 unity_OrthoParams;
uniform 	vec4 unity_CameraWorldClipPlanes[6];
uniform 	mat4 unity_CameraProjection;
uniform 	mat4 unity_CameraInvProjection;
uniform 	mediump vec4 _WorldSpaceLightPos0;
uniform 	vec4 _LightPositionRange;
uniform 	vec4 unity_4LightPosX0;
uniform 	vec4 unity_4LightPosY0;
uniform 	vec4 unity_4LightPosZ0;
uniform 	mediump vec4 unity_4LightAtten0;
uniform 	mediump vec4 unity_LightColor[8];
uniform 	vec4 unity_LightPosition[8];
uniform 	mediump vec4 unity_LightAtten[8];
uniform 	vec4 unity_SpotDirection[8];
uniform 	mediump vec4 unity_SHAr;
uniform 	mediump vec4 unity_SHAg;
uniform 	mediump vec4 unity_SHAb;
uniform 	mediump vec4 unity_SHBr;
uniform 	mediump vec4 unity_SHBg;
uniform 	mediump vec4 unity_SHBb;
uniform 	mediump vec4 unity_SHC;
uniform 	mediump vec3 unity_LightColor0;
uniform 	mediump vec3 unity_LightColor1;
uniform 	mediump vec3 unity_LightColor2;
uniform 	mediump vec3 unity_LightColor3;
uniform 	vec4 unity_ShadowSplitSpheres[4];
uniform 	vec4 unity_ShadowSplitSqRadii;
uniform 	vec4 unity_LightShadowBias;
uniform 	vec4 _LightSplitsNear;
uniform 	vec4 _LightSplitsFar;
uniform 	mat4 unity_World2Shadow[4];
uniform 	mediump vec4 _LightShadowData;
uniform 	vec4 unity_ShadowFadeCenterAndType;
uniform 	mat4 glstate_matrix_mvp;
uniform 	mat4 glstate_matrix_modelview0;
uniform 	mat4 glstate_matrix_invtrans_modelview0;
uniform 	mat4 _Object2World;
uniform 	mat4 _World2Object;
uniform 	vec4 unity_LODFade;
uniform 	vec4 unity_WorldTransformParams;
uniform 	mat4 glstate_matrix_transpose_modelview0;
uniform 	mat4 glstate_matrix_projection;
uniform 	lowp vec4 glstate_lightmodel_ambient;
uniform 	mat4 unity_MatrixV;
uniform 	mat4 unity_MatrixVP;
uniform 	lowp vec4 unity_AmbientSky;
uniform 	lowp vec4 unity_AmbientEquator;
uniform 	lowp vec4 unity_AmbientGround;
uniform 	lowp vec4 unity_FogColor;
uniform 	vec4 unity_FogParams;
uniform 	vec4 unity_LightmapST;
uniform 	vec4 unity_DynamicLightmapST;
uniform 	vec4 unity_SpecCube0_BoxMax;
uniform 	vec4 unity_SpecCube0_BoxMin;
uniform 	vec4 unity_SpecCube0_ProbePosition;
uniform 	mediump vec4 unity_SpecCube0_HDR;
uniform 	vec4 unity_SpecCube1_BoxMax;
uniform 	vec4 unity_SpecCube1_BoxMin;
uniform 	vec4 unity_SpecCube1_ProbePosition;
uniform 	mediump vec4 unity_SpecCube1_HDR;
uniform 	lowp vec4 unity_ColorSpaceGrey;
uniform 	lowp vec4 unity_ColorSpaceDouble;
uniform 	mediump vec4 unity_ColorSpaceDielectricSpec;
uniform 	mediump vec4 unity_ColorSpaceLuminance;
uniform 	mediump vec4 unity_Lightmap_HDR;
uniform 	mediump vec4 unity_DynamicLightmap_HDR;
uniform 	lowp vec4 _LightColor0;
uniform 	lowp vec4 _SpecColor;
uniform 	mediump vec4 unity_LightGammaCorrectionConsts;
uniform 	lowp float _MetallicIntensity;
uniform 	lowp float _SmoothnessIntensity;
uniform 	lowp float _Cubepower;
uniform 	vec4 _MainTex_ST;
uniform 	vec4 _BumpMap_ST;
uniform lowp sampler2D _MainTex;
uniform lowp sampler2D _BumpMap;
uniform lowp sampler2D _SpecTex;
uniform lowp samplerCube _Cube;
uniform lowp samplerCube unity_SpecCube0;
in highp vec4 vs_TEXCOORD0;
in highp vec4 vs_TEXCOORD1;
in highp vec4 vs_TEXCOORD2;
in highp vec4 vs_TEXCOORD3;
in mediump vec3 vs_TEXCOORD4;
layout(location = 0) out lowp vec4 SV_Target0;
highp vec3 t0;
mediump vec3 t16_0;
lowp vec3 t10_0;
mediump vec4 t16_1;
lowp vec3 t10_2;
mediump vec3 t16_3;
lowp vec4 t10_4;
highp vec4 t5;
lowp vec4 t10_5;
lowp vec3 t10_6;
lowp vec3 t10_7;
mediump vec3 t16_8;
mediump vec3 t16_9;
mediump vec3 t16_11;
mediump float t16_12;
mediump vec3 t16_13;
mediump float t16_21;
highp float t30;
mediump float t16_30;
mediump float t16_31;
void main()
{
    t0.x = vs_TEXCOORD1.w;
    t0.y = vs_TEXCOORD2.w;
    t0.z = vs_TEXCOORD3.w;
    t0.xyz = (-t0.xyz) + _WorldSpaceCameraPos.xyzx.xyz;
    t30 = dot(t0.xyz, t0.xyz);
    t30 = inversesqrt(t30);
    t16_1.xyz = t0.xyz * vec3(t30) + _WorldSpaceLightPos0.xyz;
    t0.xyz = vec3(t30) * t0.xyz;
    t16_31 = dot(t16_1.xyz, t16_1.xyz);
    t16_30 = max(t16_31, 0.00100000005);
    t16_31 = inversesqrt(t16_30);
    t16_1.xyz = vec3(t16_31) * t16_1.xyz;
    t16_31 = dot(_WorldSpaceLightPos0.xyz, t16_1.xyz);
    t16_30 = max(t16_31, 0.0);
    t16_31 = t16_30 * t16_30;
    t10_2.xyz = texture(_SpecTex, vs_TEXCOORD0.xy).xyz;
    t16_3.x = (-t10_2.x) * _SmoothnessIntensity + 1.0;
    t16_13.x = t16_3.x * t16_3.x;
    t10_4.xy = t10_2.xy * vec2(_SmoothnessIntensity, _MetallicIntensity);
    t16_31 = t16_31 * t10_4.x + t16_13.x;
    t16_31 = t16_31 * unity_LightGammaCorrectionConsts.z;
    t16_30 = t16_31 * t16_30 + 9.99999975e-05;
    t16_31 = (-t16_3.x) + 1.0;
    t16_3.x = log2(t16_3.x);
    t16_3.x = t16_3.x * 0.75;
    t16_3.x = exp2(t16_3.x);
    t16_3.x = t16_3.x * 7.0;
    t16_31 = t16_31 * 0.967999995 + 0.0299999993;
    t16_31 = log2(t16_31);
    t16_31 = 10.0 / t16_31;
    t16_11.z = max(t16_31, -255.936996);
    t16_13.x = t16_11.z * t16_11.z + 1.0;
    t10_5.xyz = texture(_BumpMap, vs_TEXCOORD0.zw).xyz;
    t10_4.xzw = t10_5.xyz * vec3(2.0, 2.0, 2.0) + vec3(-1.0, -1.0, -1.0);
    t5.x = dot(vs_TEXCOORD1.xyz, t10_4.xzw);
    t5.y = dot(vs_TEXCOORD2.xyz, t10_4.xzw);
    t5.z = dot(vs_TEXCOORD3.xyz, t10_4.xzw);
    t10_6.x = dot(t5.xyz, t5.xyz);
    t10_6.x = inversesqrt(t10_6.x);
    t10_6.xyz = t5.xyz * t10_6.xxx;
    t16_1.x = dot(t10_6.xyz, t16_1.xyz);
    t16_11.x = dot(t10_6.xyz, t0.xyz);
    t16_12 = max(t16_11.x, 0.0);
    t16_11.x = (-t16_12) + 1.0;
    t16_1.yw = t16_11.xz * t16_11.xz;
    t16_12 = max(t16_1.x, 0.0);
    t16_1.x = log2(t16_12);
    t16_1.xy = vec2(t16_1.x * t16_1.w, t16_1.y * t16_1.y);
    t16_1.x = exp2(t16_1.x);
    t16_1.x = t16_1.x * t16_13.x;
    t16_30 = t16_1.x / t16_30;
    t16_1.x = max(t16_30, 0.0);
    t16_1.x = min(t16_1.x, 100.0);
    t10_7.xyz = texture(_MainTex, vs_TEXCOORD0.xy).xyz;
    t16_13.xyz = t10_7.xyz + (-unity_ColorSpaceDielectricSpec.xyz);
    t16_13.xyz = t10_4.yyy * t16_13.xyz + unity_ColorSpaceDielectricSpec.xyz;
    t16_21 = (-t10_4.y) * unity_ColorSpaceDielectricSpec.w + unity_ColorSpaceDielectricSpec.w;
    t16_8.xyz = vec3(t16_21) * t10_7.xyz;
    t16_21 = (-t16_21) + 1.0;
    t16_21 = t10_2.x * _SmoothnessIntensity + t16_21;
    t16_21 = clamp(t16_21, 0.0, 1.0);
    t16_9.xyz = (-t16_13.xyz) + vec3(t16_21);
    t16_11.xyz = t16_1.yyy * t16_9.xyz + t16_13.xyz;
    t16_13.xyz = t16_1.xxx * t16_13.xyz + t16_8.xyz;
    t16_13.xyz = t16_13.xyz * _LightColor0.xyz;
    t5.w = 1.0;
    t16_9.x = dot(unity_SHAr, t5);
    t16_9.y = dot(unity_SHAg, t5);
    t16_9.z = dot(unity_SHAb, t5);
    t16_9.xyz = t16_9.xyz + vs_TEXCOORD4.xyz;
    t16_8.xyz = t16_8.xyz * t16_9.xyz;
    t16_1.x = dot(t5.xyz, _WorldSpaceLightPos0.xyz);
    t16_30 = max(t16_1.x, 0.0);
    t16_13.xyz = t16_13.xyz * vec3(t16_30) + t16_8.xyz;
    t16_1.x = dot((-t0.xyz), t5.xyz);
    t16_1.x = t16_1.x + t16_1.x;
    t16_8.xyz = t5.xyz * (-t16_1.xxx) + (-t0.xyz);
    t10_5 = textureLod(unity_SpecCube0, t16_8.xyz, t16_3.x);
    t16_1.x = t10_5.w * unity_SpecCube0_HDR.x;
    t16_8.xyz = t10_5.xyz * t16_1.xxx;
    t16_1.xyz = t16_8.xyz * t16_11.xyz + t16_13.xyz;
    t16_3.x = dot(vs_TEXCOORD1.xyz, t10_4.xzw);
    t16_3.y = dot(vs_TEXCOORD2.xyz, t10_4.xzw);
    t16_3.z = dot(vs_TEXCOORD3.xyz, t10_4.xzw);
    t30 = dot((-t0.xyz), t16_3.xyz);
    t30 = t30 + t30;
    t0.xyz = t16_3.xyz * (-vec3(t30)) + (-t0.xyz);
    t10_0.xyz = texture(_Cube, t0.xyz).xyz;
    t16_0.xyz = t10_2.zzz * t10_0.xyz;
    t16_1.xyz = t16_0.xyz * vec3(_Cubepower) + t16_1.xyz;
    SV_Target0.xyz = t16_1.xyz;
    SV_Target0.w = 1.0;
    return;
}

#endif
"
}
}
Program "fp" {
SubProgram "gles " {
Keywords { "DIRECTIONAL" "SHADOWS_OFF" "LIGHTMAP_OFF" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" }
"!!GLES"
}
SubProgram "gles3 " {
Keywords { "DIRECTIONAL" "SHADOWS_OFF" "LIGHTMAP_OFF" "DIRLIGHTMAP_OFF" "DYNAMICLIGHTMAP_OFF" }
"!!GLES3"
}
}
 }
 Pass {
  Name "FORWARD"
  Tags { "LIGHTMODE"="ForwardAdd" "RenderType"="Opaque" }
  ZWrite Off
  Blend One One
  GpuProgramID 115460
Program "vp" {
SubProgram "gles " {
Keywords { "POINT" }
"!!GLES
#version 100

#ifdef VERTEX
attribute vec4 _glesTANGENT;
attribute vec4 _glesVertex;
attribute vec3 _glesNormal;
attribute vec4 _glesMultiTexCoord0;
uniform highp mat4 glstate_matrix_mvp;
uniform highp mat4 _Object2World;
uniform highp mat4 _World2Object;
uniform highp vec4 unity_WorldTransformParams;
uniform highp vec4 _MainTex_ST;
uniform highp vec4 _BumpMap_ST;
varying highp vec4 xlv_TEXCOORD0;
varying lowp vec3 xlv_TEXCOORD1;
varying lowp vec3 xlv_TEXCOORD2;
varying lowp vec3 xlv_TEXCOORD3;
varying highp vec3 xlv_TEXCOORD4;
void main ()
{
  lowp float tangentSign_1;
  lowp vec3 worldTangent_2;
  lowp vec3 worldNormal_3;
  highp vec4 tmpvar_4;
  tmpvar_4.xy = ((_glesMultiTexCoord0.xy * _MainTex_ST.xy) + _MainTex_ST.zw);
  tmpvar_4.zw = ((_glesMultiTexCoord0.xy * _BumpMap_ST.xy) + _BumpMap_ST.zw);
  highp vec4 v_5;
  v_5.x = _World2Object[0].x;
  v_5.y = _World2Object[1].x;
  v_5.z = _World2Object[2].x;
  v_5.w = _World2Object[3].x;
  highp vec4 v_6;
  v_6.x = _World2Object[0].y;
  v_6.y = _World2Object[1].y;
  v_6.z = _World2Object[2].y;
  v_6.w = _World2Object[3].y;
  highp vec4 v_7;
  v_7.x = _World2Object[0].z;
  v_7.y = _World2Object[1].z;
  v_7.z = _World2Object[2].z;
  v_7.w = _World2Object[3].z;
  highp vec3 tmpvar_8;
  tmpvar_8 = normalize(((
    (v_5.xyz * _glesNormal.x)
   + 
    (v_6.xyz * _glesNormal.y)
  ) + (v_7.xyz * _glesNormal.z)));
  worldNormal_3 = tmpvar_8;
  highp mat3 tmpvar_9;
  tmpvar_9[0] = _Object2World[0].xyz;
  tmpvar_9[1] = _Object2World[1].xyz;
  tmpvar_9[2] = _Object2World[2].xyz;
  highp vec3 tmpvar_10;
  tmpvar_10 = normalize((tmpvar_9 * _glesTANGENT.xyz));
  worldTangent_2 = tmpvar_10;
  highp float tmpvar_11;
  tmpvar_11 = (_glesTANGENT.w * unity_WorldTransformParams.w);
  tangentSign_1 = tmpvar_11;
  lowp vec3 tmpvar_12;
  tmpvar_12 = (((worldNormal_3.yzx * worldTangent_2.zxy) - (worldNormal_3.zxy * worldTangent_2.yzx)) * tangentSign_1);
  lowp vec3 tmpvar_13;
  tmpvar_13.x = worldTangent_2.x;
  tmpvar_13.y = tmpvar_12.x;
  tmpvar_13.z = worldNormal_3.x;
  lowp vec3 tmpvar_14;
  tmpvar_14.x = worldTangent_2.y;
  tmpvar_14.y = tmpvar_12.y;
  tmpvar_14.z = worldNormal_3.y;
  lowp vec3 tmpvar_15;
  tmpvar_15.x = worldTangent_2.z;
  tmpvar_15.y = tmpvar_12.z;
  tmpvar_15.z = worldNormal_3.z;
  gl_Position = (glstate_matrix_mvp * _glesVertex);
  xlv_TEXCOORD0 = tmpvar_4;
  xlv_TEXCOORD1 = tmpvar_13;
  xlv_TEXCOORD2 = tmpvar_14;
  xlv_TEXCOORD3 = tmpvar_15;
  xlv_TEXCOORD4 = (_Object2World * _glesVertex).xyz;
}


#endif
#ifdef FRAGMENT
uniform highp vec3 _WorldSpaceCameraPos;
uniform highp vec4 _WorldSpaceLightPos0;
uniform mediump vec4 unity_ColorSpaceDielectricSpec;
uniform lowp vec4 _LightColor0;
uniform mediump vec4 unity_LightGammaCorrectionConsts;
uniform sampler2D _LightTexture0;
uniform mediump mat4 _LightMatrix0;
uniform sampler2D _MainTex;
uniform sampler2D _BumpMap;
uniform sampler2D _SpecTex;
uniform lowp float _MetallicIntensity;
uniform lowp float _SmoothnessIntensity;
varying highp vec4 xlv_TEXCOORD0;
varying lowp vec3 xlv_TEXCOORD1;
varying lowp vec3 xlv_TEXCOORD2;
varying lowp vec3 xlv_TEXCOORD3;
varying highp vec3 xlv_TEXCOORD4;
void main ()
{
  mediump vec3 tmpvar_1;
  mediump vec3 tmpvar_2;
  lowp vec3 worldN_3;
  lowp vec4 c_4;
  lowp vec3 worldViewDir_5;
  lowp vec3 lightDir_6;
  highp vec3 tmpvar_7;
  tmpvar_7 = normalize((_WorldSpaceLightPos0.xyz - xlv_TEXCOORD4));
  lightDir_6 = tmpvar_7;
  highp vec3 tmpvar_8;
  tmpvar_8 = normalize((_WorldSpaceCameraPos - xlv_TEXCOORD4));
  worldViewDir_5 = tmpvar_8;
  lowp vec3 tmpvar_9;
  mediump float tmpvar_10;
  mediump float tmpvar_11;
  lowp vec3 tmpvar_12;
  tmpvar_12 = ((texture2D (_BumpMap, xlv_TEXCOORD0.zw).xyz * 2.0) - 1.0);
  lowp vec4 tmpvar_13;
  tmpvar_13 = texture2D (_SpecTex, xlv_TEXCOORD0.xy);
  tmpvar_9 = texture2D (_MainTex, xlv_TEXCOORD0.xy).xyz;
  tmpvar_11 = (tmpvar_13.x * _SmoothnessIntensity);
  tmpvar_10 = (tmpvar_13.y * _MetallicIntensity);
  highp vec4 tmpvar_14;
  tmpvar_14.w = 1.0;
  tmpvar_14.xyz = xlv_TEXCOORD4;
  highp vec3 tmpvar_15;
  tmpvar_15 = (_LightMatrix0 * tmpvar_14).xyz;
  highp float tmpvar_16;
  tmpvar_16 = dot (tmpvar_15, tmpvar_15);
  lowp float tmpvar_17;
  tmpvar_17 = texture2D (_LightTexture0, vec2(tmpvar_16)).w;
  worldN_3.x = dot (xlv_TEXCOORD1, tmpvar_12);
  worldN_3.y = dot (xlv_TEXCOORD2, tmpvar_12);
  worldN_3.z = dot (xlv_TEXCOORD3, tmpvar_12);
  tmpvar_1 = _LightColor0.xyz;
  tmpvar_2 = lightDir_6;
  mediump vec3 normal_18;
  normal_18 = worldN_3;
  tmpvar_1 = (tmpvar_1 * tmpvar_17);
  lowp vec3 tmpvar_19;
  mediump vec3 viewDir_20;
  viewDir_20 = worldViewDir_5;
  mediump vec4 c_21;
  lowp vec3 tmpvar_22;
  tmpvar_22 = normalize(worldN_3);
  mediump vec3 tmpvar_23;
  mediump vec3 albedo_24;
  albedo_24 = tmpvar_9;
  tmpvar_23 = (albedo_24 * (unity_ColorSpaceDielectricSpec.w - (tmpvar_10 * unity_ColorSpaceDielectricSpec.w)));
  tmpvar_19 = tmpvar_23;
  mediump vec3 diffColor_25;
  diffColor_25 = tmpvar_19;
  tmpvar_19 = diffColor_25;
  mediump vec3 diffColor_26;
  diffColor_26 = tmpvar_19;
  mediump vec3 normal_27;
  normal_27 = tmpvar_22;
  mediump vec3 tmpvar_28;
  mediump vec3 inVec_29;
  inVec_29 = (tmpvar_2 + viewDir_20);
  tmpvar_28 = (inVec_29 * inversesqrt(max (0.001, 
    dot (inVec_29, inVec_29)
  )));
  mediump float tmpvar_30;
  tmpvar_30 = max (0.0, dot (tmpvar_2, tmpvar_28));
  mediump float tmpvar_31;
  tmpvar_31 = (1.0 - tmpvar_11);
  mediump float tmpvar_32;
  mediump float tmpvar_33;
  tmpvar_33 = max ((10.0 / log2(
    (((1.0 - tmpvar_31) * 0.968) + 0.03)
  )), -255.937);
  tmpvar_32 = (tmpvar_33 * tmpvar_33);
  c_21.xyz = (((diffColor_26 + 
    (clamp (((
      (tmpvar_32 + 1.0)
     * 
      pow (max (0.0, dot (normal_27, tmpvar_28)), tmpvar_32)
    ) / (
      ((unity_LightGammaCorrectionConsts.z * ((
        (tmpvar_30 * tmpvar_30)
       * tmpvar_11) + (tmpvar_31 * tmpvar_31))) * tmpvar_30)
     + 0.0001)), 0.0, 100.0) * mix (unity_ColorSpaceDielectricSpec.xyz, albedo_24, vec3(tmpvar_10)))
  ) * tmpvar_1) * max (0.0, dot (normal_18, tmpvar_2)));
  c_21.w = 0.0;
  c_4.xyz = c_21.xyz;
  c_4.w = 1.0;
  gl_FragData[0] = c_4;
}


#endif
"
}
SubProgram "gles3 " {
Keywords { "POINT" }
"!!GLES3
#ifdef VERTEX
#version 300 es
precision highp float;
precision highp int;
uniform 	vec4 _Time;
uniform 	vec4 _SinTime;
uniform 	vec4 _CosTime;
uniform 	vec4 unity_DeltaTime;
uniform 	vec3 _WorldSpaceCameraPos;
uniform 	vec4 _ProjectionParams;
uniform 	vec4 _ScreenParams;
uniform 	vec4 _ZBufferParams;
uniform 	vec4 unity_OrthoParams;
uniform 	vec4 unity_CameraWorldClipPlanes[6];
uniform 	mat4 unity_CameraProjection;
uniform 	mat4 unity_CameraInvProjection;
uniform 	vec4 _WorldSpaceLightPos0;
uniform 	vec4 _LightPositionRange;
uniform 	vec4 unity_4LightPosX0;
uniform 	vec4 unity_4LightPosY0;
uniform 	vec4 unity_4LightPosZ0;
uniform 	mediump vec4 unity_4LightAtten0;
uniform 	mediump vec4 unity_LightColor[8];
uniform 	vec4 unity_LightPosition[8];
uniform 	mediump vec4 unity_LightAtten[8];
uniform 	vec4 unity_SpotDirection[8];
uniform 	mediump vec4 unity_SHAr;
uniform 	mediump vec4 unity_SHAg;
uniform 	mediump vec4 unity_SHAb;
uniform 	mediump vec4 unity_SHBr;
uniform 	mediump vec4 unity_SHBg;
uniform 	mediump vec4 unity_SHBb;
uniform 	mediump vec4 unity_SHC;
uniform 	mediump vec3 unity_LightColor0;
uniform 	mediump vec3 unity_LightColor1;
uniform 	mediump vec3 unity_LightColor2;
uniform 	mediump vec3 unity_LightColor3;
uniform 	vec4 unity_ShadowSplitSpheres[4];
uniform 	vec4 unity_ShadowSplitSqRadii;
uniform 	vec4 unity_LightShadowBias;
uniform 	vec4 _LightSplitsNear;
uniform 	vec4 _LightSplitsFar;
uniform 	mat4 unity_World2Shadow[4];
uniform 	mediump vec4 _LightShadowData;
uniform 	vec4 unity_ShadowFadeCenterAndType;
uniform 	mat4 glstate_matrix_mvp;
uniform 	mat4 glstate_matrix_modelview0;
uniform 	mat4 glstate_matrix_invtrans_modelview0;
uniform 	mat4 _Object2World;
uniform 	mat4 _World2Object;
uniform 	vec4 unity_LODFade;
uniform 	vec4 unity_WorldTransformParams;
uniform 	mat4 glstate_matrix_transpose_modelview0;
uniform 	mat4 glstate_matrix_projection;
uniform 	lowp vec4 glstate_lightmodel_ambient;
uniform 	mat4 unity_MatrixV;
uniform 	mat4 unity_MatrixVP;
uniform 	lowp vec4 unity_AmbientSky;
uniform 	lowp vec4 unity_AmbientEquator;
uniform 	lowp vec4 unity_AmbientGround;
uniform 	lowp vec4 unity_FogColor;
uniform 	vec4 unity_FogParams;
uniform 	vec4 unity_LightmapST;
uniform 	vec4 unity_DynamicLightmapST;
uniform 	vec4 unity_SpecCube0_BoxMax;
uniform 	vec4 unity_SpecCube0_BoxMin;
uniform 	vec4 unity_SpecCube0_ProbePosition;
uniform 	mediump vec4 unity_SpecCube0_HDR;
uniform 	vec4 unity_SpecCube1_BoxMax;
uniform 	vec4 unity_SpecCube1_BoxMin;
uniform 	vec4 unity_SpecCube1_ProbePosition;
uniform 	mediump vec4 unity_SpecCube1_HDR;
uniform 	lowp vec4 unity_ColorSpaceGrey;
uniform 	lowp vec4 unity_ColorSpaceDouble;
uniform 	mediump vec4 unity_ColorSpaceDielectricSpec;
uniform 	mediump vec4 unity_ColorSpaceLuminance;
uniform 	mediump vec4 unity_Lightmap_HDR;
uniform 	mediump vec4 unity_DynamicLightmap_HDR;
uniform 	lowp vec4 _LightColor0;
uniform 	lowp vec4 _SpecColor;
uniform 	mediump vec4 unity_LightGammaCorrectionConsts;
uniform 	mediump mat4 _LightMatrix0;
uniform 	lowp float _MetallicIntensity;
uniform 	lowp float _SmoothnessIntensity;
uniform 	lowp float _Cubepower;
uniform 	vec4 _MainTex_ST;
uniform 	vec4 _BumpMap_ST;
in highp vec4 in_POSITION0;
in highp vec4 in_TANGENT0;
in highp vec3 in_NORMAL0;
in highp vec4 in_TEXCOORD0;
out highp vec4 vs_TEXCOORD0;
out lowp vec3 vs_TEXCOORD1;
out lowp vec3 vs_TEXCOORD2;
out lowp vec3 vs_TEXCOORD3;
out highp vec3 vs_TEXCOORD4;
highp vec4 t0;
highp vec3 t1;
lowp vec3 t10_2;
highp float t3;
highp float t9;
void main()
{
    t0 = in_POSITION0.yyyy * glstate_matrix_mvp[1];
    t0 = glstate_matrix_mvp[0] * in_POSITION0.xxxx + t0;
    t0 = glstate_matrix_mvp[2] * in_POSITION0.zzzz + t0;
    gl_Position = glstate_matrix_mvp[3] * in_POSITION0.wwww + t0;
    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
    vs_TEXCOORD0.zw = in_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
    t0.y = in_NORMAL0.x * _World2Object[0].x;
    t0.z = in_NORMAL0.x * _World2Object[1].x;
    t0.x = in_NORMAL0.x * _World2Object[2].x;
    t1.y = in_NORMAL0.y * _World2Object[0].y;
    t1.z = in_NORMAL0.y * _World2Object[1].y;
    t1.x = in_NORMAL0.y * _World2Object[2].y;
    t0.xyz = t0.xyz + t1.xyz;
    t1.y = in_NORMAL0.z * _World2Object[0].z;
    t1.z = in_NORMAL0.z * _World2Object[1].z;
    t1.x = in_NORMAL0.z * _World2Object[2].z;
    t0.xyz = t0.xyz + t1.xyz;
    t9 = dot(t0.xyz, t0.xyz);
    t9 = inversesqrt(t9);
    t0.xyz = vec3(t9) * t0.xyz;
    vs_TEXCOORD1.z = t0.y;
    t1.xyz = in_TANGENT0.yyy * _Object2World[1].yzx;
    t1.xyz = _Object2World[0].yzx * in_TANGENT0.xxx + t1.xyz;
    t1.xyz = _Object2World[2].yzx * in_TANGENT0.zzz + t1.xyz;
    t9 = dot(t1.xyz, t1.xyz);
    t9 = inversesqrt(t9);
    t1.xyz = vec3(t9) * t1.xyz;
    t10_2.xyz = t0.xyz * t1.xyz;
    t10_2.xyz = t0.zxy * t1.yzx + (-t10_2.xyz);
    t3 = in_TANGENT0.w * unity_WorldTransformParams.w;
    t10_2.xyz = vec3(t3) * t10_2.xyz;
    vs_TEXCOORD1.y = t10_2.x;
    vs_TEXCOORD1.x = t1.z;
    vs_TEXCOORD2.z = t0.z;
    vs_TEXCOORD3.z = t0.x;
    vs_TEXCOORD2.x = t1.x;
    vs_TEXCOORD3.x = t1.y;
    vs_TEXCOORD2.y = t10_2.y;
    vs_TEXCOORD3.y = t10_2.z;
    t0.xyz = in_POSITION0.yyy * _Object2World[1].xyz;
    t0.xyz = _Object2World[0].xyz * in_POSITION0.xxx + t0.xyz;
    t0.xyz = _Object2World[2].xyz * in_POSITION0.zzz + t0.xyz;
    vs_TEXCOORD4.xyz = _Object2World[3].xyz * in_POSITION0.www + t0.xyz;
    return;
}

#endif
#ifdef FRAGMENT
#version 300 es
precision highp float;
precision highp int;
uniform 	vec4 _Time;
uniform 	vec4 _SinTime;
uniform 	vec4 _CosTime;
uniform 	vec4 unity_DeltaTime;
uniform 	vec3 _WorldSpaceCameraPos;
uniform 	vec4 _ProjectionParams;
uniform 	vec4 _ScreenParams;
uniform 	vec4 _ZBufferParams;
uniform 	vec4 unity_OrthoParams;
uniform 	vec4 unity_CameraWorldClipPlanes[6];
uniform 	mat4 unity_CameraProjection;
uniform 	mat4 unity_CameraInvProjection;
uniform 	vec4 _WorldSpaceLightPos0;
uniform 	vec4 _LightPositionRange;
uniform 	vec4 unity_4LightPosX0;
uniform 	vec4 unity_4LightPosY0;
uniform 	vec4 unity_4LightPosZ0;
uniform 	mediump vec4 unity_4LightAtten0;
uniform 	mediump vec4 unity_LightColor[8];
uniform 	vec4 unity_LightPosition[8];
uniform 	mediump vec4 unity_LightAtten[8];
uniform 	vec4 unity_SpotDirection[8];
uniform 	mediump vec4 unity_SHAr;
uniform 	mediump vec4 unity_SHAg;
uniform 	mediump vec4 unity_SHAb;
uniform 	mediump vec4 unity_SHBr;
uniform 	mediump vec4 unity_SHBg;
uniform 	mediump vec4 unity_SHBb;
uniform 	mediump vec4 unity_SHC;
uniform 	mediump vec3 unity_LightColor0;
uniform 	mediump vec3 unity_LightColor1;
uniform 	mediump vec3 unity_LightColor2;
uniform 	mediump vec3 unity_LightColor3;
uniform 	vec4 unity_ShadowSplitSpheres[4];
uniform 	vec4 unity_ShadowSplitSqRadii;
uniform 	vec4 unity_LightShadowBias;
uniform 	vec4 _LightSplitsNear;
uniform 	vec4 _LightSplitsFar;
uniform 	mat4 unity_World2Shadow[4];
uniform 	mediump vec4 _LightShadowData;
uniform 	vec4 unity_ShadowFadeCenterAndType;
uniform 	mat4 glstate_matrix_mvp;
uniform 	mat4 glstate_matrix_modelview0;
uniform 	mat4 glstate_matrix_invtrans_modelview0;
uniform 	mat4 _Object2World;
uniform 	mat4 _World2Object;
uniform 	vec4 unity_LODFade;
uniform 	vec4 unity_WorldTransformParams;
uniform 	mat4 glstate_matrix_transpose_modelview0;
uniform 	mat4 glstate_matrix_projection;
uniform 	lowp vec4 glstate_lightmodel_ambient;
uniform 	mat4 unity_MatrixV;
uniform 	mat4 unity_MatrixVP;
uniform 	lowp vec4 unity_AmbientSky;
uniform 	lowp vec4 unity_AmbientEquator;
uniform 	lowp vec4 unity_AmbientGround;
uniform 	lowp vec4 unity_FogColor;
uniform 	vec4 unity_FogParams;
uniform 	vec4 unity_LightmapST;
uniform 	vec4 unity_DynamicLightmapST;
uniform 	vec4 unity_SpecCube0_BoxMax;
uniform 	vec4 unity_SpecCube0_BoxMin;
uniform 	vec4 unity_SpecCube0_ProbePosition;
uniform 	mediump vec4 unity_SpecCube0_HDR;
uniform 	vec4 unity_SpecCube1_BoxMax;
uniform 	vec4 unity_SpecCube1_BoxMin;
uniform 	vec4 unity_SpecCube1_ProbePosition;
uniform 	mediump vec4 unity_SpecCube1_HDR;
uniform 	lowp vec4 unity_ColorSpaceGrey;
uniform 	lowp vec4 unity_ColorSpaceDouble;
uniform 	mediump vec4 unity_ColorSpaceDielectricSpec;
uniform 	mediump vec4 unity_ColorSpaceLuminance;
uniform 	mediump vec4 unity_Lightmap_HDR;
uniform 	mediump vec4 unity_DynamicLightmap_HDR;
uniform 	lowp vec4 _LightColor0;
uniform 	lowp vec4 _SpecColor;
uniform 	mediump vec4 unity_LightGammaCorrectionConsts;
uniform 	mediump mat4 _LightMatrix0;
uniform 	lowp float _MetallicIntensity;
uniform 	lowp float _SmoothnessIntensity;
uniform 	lowp float _Cubepower;
uniform 	vec4 _MainTex_ST;
uniform 	vec4 _BumpMap_ST;
uniform lowp sampler2D _MainTex;
uniform lowp sampler2D _BumpMap;
uniform lowp sampler2D _SpecTex;
uniform lowp sampler2D _LightTexture0;
in highp vec4 vs_TEXCOORD0;
in lowp vec3 vs_TEXCOORD1;
in lowp vec3 vs_TEXCOORD2;
in lowp vec3 vs_TEXCOORD3;
in highp vec3 vs_TEXCOORD4;
layout(location = 0) out lowp vec4 SV_Target0;
highp vec3 t0;
mediump vec2 t16_0;
lowp vec4 t10_0;
highp vec3 t1;
mediump vec4 t16_2;
lowp vec3 t10_3;
lowp vec3 t10_4;
mediump vec3 t16_5;
mediump vec3 t16_8;
lowp vec2 t10_12;
mediump float t16_14;
highp float t18;
highp float t19;
mediump float t16_20;
void main()
{
    t0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyzx.xyz;
    t18 = dot(t0.xyz, t0.xyz);
    t18 = inversesqrt(t18);
    t1.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
    t19 = dot(t1.xyz, t1.xyz);
    t19 = inversesqrt(t19);
    t1.xyz = vec3(t19) * t1.xyz;
    t16_2.xyz = t0.xyz * vec3(t18) + t1.xyz;
    t16_20 = dot(t16_2.xyz, t16_2.xyz);
    t16_0.x = max(t16_20, 0.00100000005);
    t16_20 = inversesqrt(t16_0.x);
    t16_2.xyz = vec3(t16_20) * t16_2.xyz;
    t10_0.xyz = texture(_BumpMap, vs_TEXCOORD0.zw).xyz;
    t10_3.xyz = t10_0.xyz * vec3(2.0, 2.0, 2.0) + vec3(-1.0, -1.0, -1.0);
    t10_4.x = dot(vs_TEXCOORD1.xyz, t10_3.xyz);
    t10_4.y = dot(vs_TEXCOORD2.xyz, t10_3.xyz);
    t10_4.z = dot(vs_TEXCOORD3.xyz, t10_3.xyz);
    t10_3.x = dot(t10_4.xyz, t10_4.xyz);
    t10_3.x = inversesqrt(t10_3.x);
    t10_3.xyz = t10_3.xxx * t10_4.xyz;
    t16_2.w = dot(t10_4.xyz, t1.xyz);
    t16_5.x = dot(t1.xyz, t16_2.xyz);
    t16_2.x = dot(t10_3.xyz, t16_2.xyz);
    t16_0.xy = max(t16_2.xw, vec2(0.0, 0.0));
    t16_2.x = log2(t16_0.x);
    t16_0.x = max(t16_5.x, 0.0);
    t10_12.xy = texture(_SpecTex, vs_TEXCOORD0.xy).xy;
    t16_8.x = (-t10_12.x) * _SmoothnessIntensity + 1.0;
    t10_3.xy = t10_12.xy * vec2(_SmoothnessIntensity, _MetallicIntensity);
    t16_14 = (-t16_8.x) + 1.0;
    t16_14 = t16_14 * 0.967999995 + 0.0299999993;
    t16_14 = log2(t16_14);
    t16_14 = 10.0 / t16_14;
    t16_8.y = max(t16_14, -255.936996);
    t16_8.xz = t16_8.xy * t16_8.xy;
    t16_14 = t16_8.y * t16_8.y + 1.0;
    t16_2.x = t16_2.x * t16_8.z;
    t16_2.x = exp2(t16_2.x);
    t16_2.x = t16_2.x * t16_14;
    t16_14 = t16_0.x * t16_0.x;
    t16_8.x = t16_14 * t10_3.x + t16_8.x;
    t16_8.x = t16_8.x * unity_LightGammaCorrectionConsts.z;
    t16_0.x = t16_8.x * t16_0.x + 9.99999975e-05;
    t16_0.x = t16_2.x / t16_0.x;
    t16_2.x = max(t16_0.x, 0.0);
    t16_2.x = min(t16_2.x, 100.0);
    t10_0.xzw = texture(_MainTex, vs_TEXCOORD0.xy).xyz;
    t16_8.xyz = t10_0.xzw + (-unity_ColorSpaceDielectricSpec.xyz);
    t16_8.xyz = t10_3.yyy * t16_8.xyz + unity_ColorSpaceDielectricSpec.xyz;
    t16_5.x = (-t10_3.y) * unity_ColorSpaceDielectricSpec.w + unity_ColorSpaceDielectricSpec.w;
    t16_2.xyz = t16_8.xyz * t16_2.xxx;
    t16_2.xyz = t10_0.xzw * t16_5.xxx + t16_2.xyz;
    t16_5.xyz = vs_TEXCOORD4.yyy * _LightMatrix0[1].xyz;
    t16_5.xyz = _LightMatrix0[0].xyz * vs_TEXCOORD4.xxx + t16_5.xyz;
    t16_5.xyz = _LightMatrix0[2].xyz * vs_TEXCOORD4.zzz + t16_5.xyz;
    t16_5.xyz = t16_5.xyz + _LightMatrix0[3].xyz;
    t16_0.x = dot(t16_5.xyz, t16_5.xyz);
    t10_0.x = texture(_LightTexture0, t16_0.xx).w;
    t16_5.xyz = t10_0.xxx * _LightColor0.xyz;
    t16_2.xyz = t16_2.xyz * t16_5.xyz;
    t16_2.xyz = t16_0.yyy * t16_2.xyz;
    SV_Target0.xyz = t16_2.xyz;
    SV_Target0.w = 1.0;
    return;
}

#endif
"
}
SubProgram "gles " {
Keywords { "DIRECTIONAL" }
"!!GLES
#version 100

#ifdef VERTEX
attribute vec4 _glesTANGENT;
attribute vec4 _glesVertex;
attribute vec3 _glesNormal;
attribute vec4 _glesMultiTexCoord0;
uniform highp mat4 glstate_matrix_mvp;
uniform highp mat4 _Object2World;
uniform highp mat4 _World2Object;
uniform highp vec4 unity_WorldTransformParams;
uniform highp vec4 _MainTex_ST;
uniform highp vec4 _BumpMap_ST;
varying highp vec4 xlv_TEXCOORD0;
varying lowp vec3 xlv_TEXCOORD1;
varying lowp vec3 xlv_TEXCOORD2;
varying lowp vec3 xlv_TEXCOORD3;
varying highp vec3 xlv_TEXCOORD4;
void main ()
{
  lowp float tangentSign_1;
  lowp vec3 worldTangent_2;
  lowp vec3 worldNormal_3;
  highp vec4 tmpvar_4;
  tmpvar_4.xy = ((_glesMultiTexCoord0.xy * _MainTex_ST.xy) + _MainTex_ST.zw);
  tmpvar_4.zw = ((_glesMultiTexCoord0.xy * _BumpMap_ST.xy) + _BumpMap_ST.zw);
  highp vec4 v_5;
  v_5.x = _World2Object[0].x;
  v_5.y = _World2Object[1].x;
  v_5.z = _World2Object[2].x;
  v_5.w = _World2Object[3].x;
  highp vec4 v_6;
  v_6.x = _World2Object[0].y;
  v_6.y = _World2Object[1].y;
  v_6.z = _World2Object[2].y;
  v_6.w = _World2Object[3].y;
  highp vec4 v_7;
  v_7.x = _World2Object[0].z;
  v_7.y = _World2Object[1].z;
  v_7.z = _World2Object[2].z;
  v_7.w = _World2Object[3].z;
  highp vec3 tmpvar_8;
  tmpvar_8 = normalize(((
    (v_5.xyz * _glesNormal.x)
   + 
    (v_6.xyz * _glesNormal.y)
  ) + (v_7.xyz * _glesNormal.z)));
  worldNormal_3 = tmpvar_8;
  highp mat3 tmpvar_9;
  tmpvar_9[0] = _Object2World[0].xyz;
  tmpvar_9[1] = _Object2World[1].xyz;
  tmpvar_9[2] = _Object2World[2].xyz;
  highp vec3 tmpvar_10;
  tmpvar_10 = normalize((tmpvar_9 * _glesTANGENT.xyz));
  worldTangent_2 = tmpvar_10;
  highp float tmpvar_11;
  tmpvar_11 = (_glesTANGENT.w * unity_WorldTransformParams.w);
  tangentSign_1 = tmpvar_11;
  lowp vec3 tmpvar_12;
  tmpvar_12 = (((worldNormal_3.yzx * worldTangent_2.zxy) - (worldNormal_3.zxy * worldTangent_2.yzx)) * tangentSign_1);
  lowp vec3 tmpvar_13;
  tmpvar_13.x = worldTangent_2.x;
  tmpvar_13.y = tmpvar_12.x;
  tmpvar_13.z = worldNormal_3.x;
  lowp vec3 tmpvar_14;
  tmpvar_14.x = worldTangent_2.y;
  tmpvar_14.y = tmpvar_12.y;
  tmpvar_14.z = worldNormal_3.y;
  lowp vec3 tmpvar_15;
  tmpvar_15.x = worldTangent_2.z;
  tmpvar_15.y = tmpvar_12.z;
  tmpvar_15.z = worldNormal_3.z;
  gl_Position = (glstate_matrix_mvp * _glesVertex);
  xlv_TEXCOORD0 = tmpvar_4;
  xlv_TEXCOORD1 = tmpvar_13;
  xlv_TEXCOORD2 = tmpvar_14;
  xlv_TEXCOORD3 = tmpvar_15;
  xlv_TEXCOORD4 = (_Object2World * _glesVertex).xyz;
}


#endif
#ifdef FRAGMENT
uniform highp vec3 _WorldSpaceCameraPos;
uniform mediump vec4 _WorldSpaceLightPos0;
uniform mediump vec4 unity_ColorSpaceDielectricSpec;
uniform lowp vec4 _LightColor0;
uniform mediump vec4 unity_LightGammaCorrectionConsts;
uniform sampler2D _MainTex;
uniform sampler2D _BumpMap;
uniform sampler2D _SpecTex;
uniform lowp float _MetallicIntensity;
uniform lowp float _SmoothnessIntensity;
varying highp vec4 xlv_TEXCOORD0;
varying lowp vec3 xlv_TEXCOORD1;
varying lowp vec3 xlv_TEXCOORD2;
varying lowp vec3 xlv_TEXCOORD3;
varying highp vec3 xlv_TEXCOORD4;
void main ()
{
  mediump vec3 tmpvar_1;
  mediump vec3 tmpvar_2;
  lowp vec3 worldN_3;
  lowp vec4 c_4;
  lowp vec3 worldViewDir_5;
  lowp vec3 lightDir_6;
  mediump vec3 tmpvar_7;
  tmpvar_7 = _WorldSpaceLightPos0.xyz;
  lightDir_6 = tmpvar_7;
  highp vec3 tmpvar_8;
  tmpvar_8 = normalize((_WorldSpaceCameraPos - xlv_TEXCOORD4));
  worldViewDir_5 = tmpvar_8;
  lowp vec3 tmpvar_9;
  mediump float tmpvar_10;
  mediump float tmpvar_11;
  lowp vec3 tmpvar_12;
  tmpvar_12 = ((texture2D (_BumpMap, xlv_TEXCOORD0.zw).xyz * 2.0) - 1.0);
  lowp vec4 tmpvar_13;
  tmpvar_13 = texture2D (_SpecTex, xlv_TEXCOORD0.xy);
  tmpvar_9 = texture2D (_MainTex, xlv_TEXCOORD0.xy).xyz;
  tmpvar_11 = (tmpvar_13.x * _SmoothnessIntensity);
  tmpvar_10 = (tmpvar_13.y * _MetallicIntensity);
  worldN_3.x = dot (xlv_TEXCOORD1, tmpvar_12);
  worldN_3.y = dot (xlv_TEXCOORD2, tmpvar_12);
  worldN_3.z = dot (xlv_TEXCOORD3, tmpvar_12);
  tmpvar_1 = _LightColor0.xyz;
  tmpvar_2 = lightDir_6;
  mediump vec3 normal_14;
  normal_14 = worldN_3;
  lowp vec3 tmpvar_15;
  mediump vec3 viewDir_16;
  viewDir_16 = worldViewDir_5;
  mediump vec4 c_17;
  lowp vec3 tmpvar_18;
  tmpvar_18 = normalize(worldN_3);
  mediump vec3 tmpvar_19;
  mediump vec3 albedo_20;
  albedo_20 = tmpvar_9;
  tmpvar_19 = (albedo_20 * (unity_ColorSpaceDielectricSpec.w - (tmpvar_10 * unity_ColorSpaceDielectricSpec.w)));
  tmpvar_15 = tmpvar_19;
  mediump vec3 diffColor_21;
  diffColor_21 = tmpvar_15;
  tmpvar_15 = diffColor_21;
  mediump vec3 diffColor_22;
  diffColor_22 = tmpvar_15;
  mediump vec3 normal_23;
  normal_23 = tmpvar_18;
  mediump vec3 tmpvar_24;
  mediump vec3 inVec_25;
  inVec_25 = (tmpvar_2 + viewDir_16);
  tmpvar_24 = (inVec_25 * inversesqrt(max (0.001, 
    dot (inVec_25, inVec_25)
  )));
  mediump float tmpvar_26;
  tmpvar_26 = max (0.0, dot (tmpvar_2, tmpvar_24));
  mediump float tmpvar_27;
  tmpvar_27 = (1.0 - tmpvar_11);
  mediump float tmpvar_28;
  mediump float tmpvar_29;
  tmpvar_29 = max ((10.0 / log2(
    (((1.0 - tmpvar_27) * 0.968) + 0.03)
  )), -255.937);
  tmpvar_28 = (tmpvar_29 * tmpvar_29);
  c_17.xyz = (((diffColor_22 + 
    (clamp (((
      (tmpvar_28 + 1.0)
     * 
      pow (max (0.0, dot (normal_23, tmpvar_24)), tmpvar_28)
    ) / (
      ((unity_LightGammaCorrectionConsts.z * ((
        (tmpvar_26 * tmpvar_26)
       * tmpvar_11) + (tmpvar_27 * tmpvar_27))) * tmpvar_26)
     + 0.0001)), 0.0, 100.0) * mix (unity_ColorSpaceDielectricSpec.xyz, albedo_20, vec3(tmpvar_10)))
  ) * tmpvar_1) * max (0.0, dot (normal_14, tmpvar_2)));
  c_17.w = 0.0;
  c_4.xyz = c_17.xyz;
  c_4.w = 1.0;
  gl_FragData[0] = c_4;
}


#endif
"
}
SubProgram "gles3 " {
Keywords { "DIRECTIONAL" }
"!!GLES3
#ifdef VERTEX
#version 300 es
precision highp float;
precision highp int;
uniform 	vec4 _Time;
uniform 	vec4 _SinTime;
uniform 	vec4 _CosTime;
uniform 	vec4 unity_DeltaTime;
uniform 	vec3 _WorldSpaceCameraPos;
uniform 	vec4 _ProjectionParams;
uniform 	vec4 _ScreenParams;
uniform 	vec4 _ZBufferParams;
uniform 	vec4 unity_OrthoParams;
uniform 	vec4 unity_CameraWorldClipPlanes[6];
uniform 	mat4 unity_CameraProjection;
uniform 	mat4 unity_CameraInvProjection;
uniform 	mediump vec4 _WorldSpaceLightPos0;
uniform 	vec4 _LightPositionRange;
uniform 	vec4 unity_4LightPosX0;
uniform 	vec4 unity_4LightPosY0;
uniform 	vec4 unity_4LightPosZ0;
uniform 	mediump vec4 unity_4LightAtten0;
uniform 	mediump vec4 unity_LightColor[8];
uniform 	vec4 unity_LightPosition[8];
uniform 	mediump vec4 unity_LightAtten[8];
uniform 	vec4 unity_SpotDirection[8];
uniform 	mediump vec4 unity_SHAr;
uniform 	mediump vec4 unity_SHAg;
uniform 	mediump vec4 unity_SHAb;
uniform 	mediump vec4 unity_SHBr;
uniform 	mediump vec4 unity_SHBg;
uniform 	mediump vec4 unity_SHBb;
uniform 	mediump vec4 unity_SHC;
uniform 	mediump vec3 unity_LightColor0;
uniform 	mediump vec3 unity_LightColor1;
uniform 	mediump vec3 unity_LightColor2;
uniform 	mediump vec3 unity_LightColor3;
uniform 	vec4 unity_ShadowSplitSpheres[4];
uniform 	vec4 unity_ShadowSplitSqRadii;
uniform 	vec4 unity_LightShadowBias;
uniform 	vec4 _LightSplitsNear;
uniform 	vec4 _LightSplitsFar;
uniform 	mat4 unity_World2Shadow[4];
uniform 	mediump vec4 _LightShadowData;
uniform 	vec4 unity_ShadowFadeCenterAndType;
uniform 	mat4 glstate_matrix_mvp;
uniform 	mat4 glstate_matrix_modelview0;
uniform 	mat4 glstate_matrix_invtrans_modelview0;
uniform 	mat4 _Object2World;
uniform 	mat4 _World2Object;
uniform 	vec4 unity_LODFade;
uniform 	vec4 unity_WorldTransformParams;
uniform 	mat4 glstate_matrix_transpose_modelview0;
uniform 	mat4 glstate_matrix_projection;
uniform 	lowp vec4 glstate_lightmodel_ambient;
uniform 	mat4 unity_MatrixV;
uniform 	mat4 unity_MatrixVP;
uniform 	lowp vec4 unity_AmbientSky;
uniform 	lowp vec4 unity_AmbientEquator;
uniform 	lowp vec4 unity_AmbientGround;
uniform 	lowp vec4 unity_FogColor;
uniform 	vec4 unity_FogParams;
uniform 	vec4 unity_LightmapST;
uniform 	vec4 unity_DynamicLightmapST;
uniform 	vec4 unity_SpecCube0_BoxMax;
uniform 	vec4 unity_SpecCube0_BoxMin;
uniform 	vec4 unity_SpecCube0_ProbePosition;
uniform 	mediump vec4 unity_SpecCube0_HDR;
uniform 	vec4 unity_SpecCube1_BoxMax;
uniform 	vec4 unity_SpecCube1_BoxMin;
uniform 	vec4 unity_SpecCube1_ProbePosition;
uniform 	mediump vec4 unity_SpecCube1_HDR;
uniform 	lowp vec4 unity_ColorSpaceGrey;
uniform 	lowp vec4 unity_ColorSpaceDouble;
uniform 	mediump vec4 unity_ColorSpaceDielectricSpec;
uniform 	mediump vec4 unity_ColorSpaceLuminance;
uniform 	mediump vec4 unity_Lightmap_HDR;
uniform 	mediump vec4 unity_DynamicLightmap_HDR;
uniform 	lowp vec4 _LightColor0;
uniform 	lowp vec4 _SpecColor;
uniform 	mediump vec4 unity_LightGammaCorrectionConsts;
uniform 	lowp float _MetallicIntensity;
uniform 	lowp float _SmoothnessIntensity;
uniform 	lowp float _Cubepower;
uniform 	vec4 _MainTex_ST;
uniform 	vec4 _BumpMap_ST;
in highp vec4 in_POSITION0;
in highp vec4 in_TANGENT0;
in highp vec3 in_NORMAL0;
in highp vec4 in_TEXCOORD0;
out highp vec4 vs_TEXCOORD0;
out lowp vec3 vs_TEXCOORD1;
out lowp vec3 vs_TEXCOORD2;
out lowp vec3 vs_TEXCOORD3;
out highp vec3 vs_TEXCOORD4;
highp vec4 t0;
highp vec3 t1;
lowp vec3 t10_2;
highp float t3;
highp float t9;
void main()
{
    t0 = in_POSITION0.yyyy * glstate_matrix_mvp[1];
    t0 = glstate_matrix_mvp[0] * in_POSITION0.xxxx + t0;
    t0 = glstate_matrix_mvp[2] * in_POSITION0.zzzz + t0;
    gl_Position = glstate_matrix_mvp[3] * in_POSITION0.wwww + t0;
    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
    vs_TEXCOORD0.zw = in_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
    t0.y = in_NORMAL0.x * _World2Object[0].x;
    t0.z = in_NORMAL0.x * _World2Object[1].x;
    t0.x = in_NORMAL0.x * _World2Object[2].x;
    t1.y = in_NORMAL0.y * _World2Object[0].y;
    t1.z = in_NORMAL0.y * _World2Object[1].y;
    t1.x = in_NORMAL0.y * _World2Object[2].y;
    t0.xyz = t0.xyz + t1.xyz;
    t1.y = in_NORMAL0.z * _World2Object[0].z;
    t1.z = in_NORMAL0.z * _World2Object[1].z;
    t1.x = in_NORMAL0.z * _World2Object[2].z;
    t0.xyz = t0.xyz + t1.xyz;
    t9 = dot(t0.xyz, t0.xyz);
    t9 = inversesqrt(t9);
    t0.xyz = vec3(t9) * t0.xyz;
    vs_TEXCOORD1.z = t0.y;
    t1.xyz = in_TANGENT0.yyy * _Object2World[1].yzx;
    t1.xyz = _Object2World[0].yzx * in_TANGENT0.xxx + t1.xyz;
    t1.xyz = _Object2World[2].yzx * in_TANGENT0.zzz + t1.xyz;
    t9 = dot(t1.xyz, t1.xyz);
    t9 = inversesqrt(t9);
    t1.xyz = vec3(t9) * t1.xyz;
    t10_2.xyz = t0.xyz * t1.xyz;
    t10_2.xyz = t0.zxy * t1.yzx + (-t10_2.xyz);
    t3 = in_TANGENT0.w * unity_WorldTransformParams.w;
    t10_2.xyz = vec3(t3) * t10_2.xyz;
    vs_TEXCOORD1.y = t10_2.x;
    vs_TEXCOORD1.x = t1.z;
    vs_TEXCOORD2.z = t0.z;
    vs_TEXCOORD3.z = t0.x;
    vs_TEXCOORD2.x = t1.x;
    vs_TEXCOORD3.x = t1.y;
    vs_TEXCOORD2.y = t10_2.y;
    vs_TEXCOORD3.y = t10_2.z;
    t0.xyz = in_POSITION0.yyy * _Object2World[1].xyz;
    t0.xyz = _Object2World[0].xyz * in_POSITION0.xxx + t0.xyz;
    t0.xyz = _Object2World[2].xyz * in_POSITION0.zzz + t0.xyz;
    vs_TEXCOORD4.xyz = _Object2World[3].xyz * in_POSITION0.www + t0.xyz;
    return;
}

#endif
#ifdef FRAGMENT
#version 300 es
precision highp float;
precision highp int;
uniform 	vec4 _Time;
uniform 	vec4 _SinTime;
uniform 	vec4 _CosTime;
uniform 	vec4 unity_DeltaTime;
uniform 	vec3 _WorldSpaceCameraPos;
uniform 	vec4 _ProjectionParams;
uniform 	vec4 _ScreenParams;
uniform 	vec4 _ZBufferParams;
uniform 	vec4 unity_OrthoParams;
uniform 	vec4 unity_CameraWorldClipPlanes[6];
uniform 	mat4 unity_CameraProjection;
uniform 	mat4 unity_CameraInvProjection;
uniform 	mediump vec4 _WorldSpaceLightPos0;
uniform 	vec4 _LightPositionRange;
uniform 	vec4 unity_4LightPosX0;
uniform 	vec4 unity_4LightPosY0;
uniform 	vec4 unity_4LightPosZ0;
uniform 	mediump vec4 unity_4LightAtten0;
uniform 	mediump vec4 unity_LightColor[8];
uniform 	vec4 unity_LightPosition[8];
uniform 	mediump vec4 unity_LightAtten[8];
uniform 	vec4 unity_SpotDirection[8];
uniform 	mediump vec4 unity_SHAr;
uniform 	mediump vec4 unity_SHAg;
uniform 	mediump vec4 unity_SHAb;
uniform 	mediump vec4 unity_SHBr;
uniform 	mediump vec4 unity_SHBg;
uniform 	mediump vec4 unity_SHBb;
uniform 	mediump vec4 unity_SHC;
uniform 	mediump vec3 unity_LightColor0;
uniform 	mediump vec3 unity_LightColor1;
uniform 	mediump vec3 unity_LightColor2;
uniform 	mediump vec3 unity_LightColor3;
uniform 	vec4 unity_ShadowSplitSpheres[4];
uniform 	vec4 unity_ShadowSplitSqRadii;
uniform 	vec4 unity_LightShadowBias;
uniform 	vec4 _LightSplitsNear;
uniform 	vec4 _LightSplitsFar;
uniform 	mat4 unity_World2Shadow[4];
uniform 	mediump vec4 _LightShadowData;
uniform 	vec4 unity_ShadowFadeCenterAndType;
uniform 	mat4 glstate_matrix_mvp;
uniform 	mat4 glstate_matrix_modelview0;
uniform 	mat4 glstate_matrix_invtrans_modelview0;
uniform 	mat4 _Object2World;
uniform 	mat4 _World2Object;
uniform 	vec4 unity_LODFade;
uniform 	vec4 unity_WorldTransformParams;
uniform 	mat4 glstate_matrix_transpose_modelview0;
uniform 	mat4 glstate_matrix_projection;
uniform 	lowp vec4 glstate_lightmodel_ambient;
uniform 	mat4 unity_MatrixV;
uniform 	mat4 unity_MatrixVP;
uniform 	lowp vec4 unity_AmbientSky;
uniform 	lowp vec4 unity_AmbientEquator;
uniform 	lowp vec4 unity_AmbientGround;
uniform 	lowp vec4 unity_FogColor;
uniform 	vec4 unity_FogParams;
uniform 	vec4 unity_LightmapST;
uniform 	vec4 unity_DynamicLightmapST;
uniform 	vec4 unity_SpecCube0_BoxMax;
uniform 	vec4 unity_SpecCube0_BoxMin;
uniform 	vec4 unity_SpecCube0_ProbePosition;
uniform 	mediump vec4 unity_SpecCube0_HDR;
uniform 	vec4 unity_SpecCube1_BoxMax;
uniform 	vec4 unity_SpecCube1_BoxMin;
uniform 	vec4 unity_SpecCube1_ProbePosition;
uniform 	mediump vec4 unity_SpecCube1_HDR;
uniform 	lowp vec4 unity_ColorSpaceGrey;
uniform 	lowp vec4 unity_ColorSpaceDouble;
uniform 	mediump vec4 unity_ColorSpaceDielectricSpec;
uniform 	mediump vec4 unity_ColorSpaceLuminance;
uniform 	mediump vec4 unity_Lightmap_HDR;
uniform 	mediump vec4 unity_DynamicLightmap_HDR;
uniform 	lowp vec4 _LightColor0;
uniform 	lowp vec4 _SpecColor;
uniform 	mediump vec4 unity_LightGammaCorrectionConsts;
uniform 	lowp float _MetallicIntensity;
uniform 	lowp float _SmoothnessIntensity;
uniform 	lowp float _Cubepower;
uniform 	vec4 _MainTex_ST;
uniform 	vec4 _BumpMap_ST;
uniform lowp sampler2D _MainTex;
uniform lowp sampler2D _BumpMap;
uniform lowp sampler2D _SpecTex;
in highp vec4 vs_TEXCOORD0;
in lowp vec3 vs_TEXCOORD1;
in lowp vec3 vs_TEXCOORD2;
in lowp vec3 vs_TEXCOORD3;
in highp vec3 vs_TEXCOORD4;
layout(location = 0) out lowp vec4 SV_Target0;
highp vec3 t0;
mediump float t16_0;
lowp vec3 t10_0;
mediump vec4 t16_1;
lowp vec3 t10_2;
lowp vec3 t10_3;
mediump float t16_4;
mediump vec2 t16_5;
lowp vec3 t10_5;
mediump vec3 t16_6;
lowp vec2 t10_10;
mediump float t16_11;
highp float t15;
mediump float t16_16;
void main()
{
    t0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyzx.xyz;
    t15 = dot(t0.xyz, t0.xyz);
    t15 = inversesqrt(t15);
    t16_1.xyz = t0.xyz * vec3(t15) + _WorldSpaceLightPos0.xyz;
    t16_16 = dot(t16_1.xyz, t16_1.xyz);
    t16_0 = max(t16_16, 0.00100000005);
    t16_16 = inversesqrt(t16_0);
    t16_1.xyz = vec3(t16_16) * t16_1.xyz;
    t10_0.xyz = texture(_BumpMap, vs_TEXCOORD0.zw).xyz;
    t10_2.xyz = t10_0.xyz * vec3(2.0, 2.0, 2.0) + vec3(-1.0, -1.0, -1.0);
    t10_3.x = dot(vs_TEXCOORD1.xyz, t10_2.xyz);
    t10_3.y = dot(vs_TEXCOORD2.xyz, t10_2.xyz);
    t10_3.z = dot(vs_TEXCOORD3.xyz, t10_2.xyz);
    t10_2.x = dot(t10_3.xyz, t10_3.xyz);
    t10_2.x = inversesqrt(t10_2.x);
    t10_2.xyz = t10_2.xxx * t10_3.xyz;
    t16_16 = dot(t10_3.xyz, _WorldSpaceLightPos0.xyz);
    t16_0 = max(t16_16, 0.0);
    t16_1.w = dot(t10_2.xyz, t16_1.xyz);
    t16_1.x = dot(_WorldSpaceLightPos0.xyz, t16_1.xyz);
    t16_5.xy = max(t16_1.xw, vec2(0.0, 0.0));
    t16_1.x = log2(t16_5.y);
    t10_10.xy = texture(_SpecTex, vs_TEXCOORD0.xy).xy;
    t16_6.x = (-t10_10.x) * _SmoothnessIntensity + 1.0;
    t10_2.xy = t10_10.xy * vec2(_SmoothnessIntensity, _MetallicIntensity);
    t16_11 = (-t16_6.x) + 1.0;
    t16_11 = t16_11 * 0.967999995 + 0.0299999993;
    t16_11 = log2(t16_11);
    t16_11 = 10.0 / t16_11;
    t16_6.y = max(t16_11, -255.936996);
    t16_6.xz = t16_6.xy * t16_6.xy;
    t16_11 = t16_6.y * t16_6.y + 1.0;
    t16_1.x = t16_1.x * t16_6.z;
    t16_1.x = exp2(t16_1.x);
    t16_1.x = t16_1.x * t16_11;
    t16_11 = t16_5.x * t16_5.x;
    t16_6.x = t16_11 * t10_2.x + t16_6.x;
    t16_6.x = t16_6.x * unity_LightGammaCorrectionConsts.z;
    t16_5.x = t16_6.x * t16_5.x + 9.99999975e-05;
    t16_5.x = t16_1.x / t16_5.x;
    t16_1.x = max(t16_5.x, 0.0);
    t16_1.x = min(t16_1.x, 100.0);
    t10_5.xyz = texture(_MainTex, vs_TEXCOORD0.xy).xyz;
    t16_6.xyz = t10_5.xyz + (-unity_ColorSpaceDielectricSpec.xyz);
    t16_6.xyz = t10_2.yyy * t16_6.xyz + unity_ColorSpaceDielectricSpec.xyz;
    t16_4 = (-t10_2.y) * unity_ColorSpaceDielectricSpec.w + unity_ColorSpaceDielectricSpec.w;
    t16_1.xyz = t16_6.xyz * t16_1.xxx;
    t16_1.xyz = t10_5.xyz * vec3(t16_4) + t16_1.xyz;
    t16_1.xyz = t16_1.xyz * _LightColor0.xyz;
    t16_1.xyz = vec3(t16_0) * t16_1.xyz;
    SV_Target0.xyz = t16_1.xyz;
    SV_Target0.w = 1.0;
    return;
}

#endif
"
}
SubProgram "gles " {
Keywords { "SPOT" }
"!!GLES
#version 100

#ifdef VERTEX
attribute vec4 _glesTANGENT;
attribute vec4 _glesVertex;
attribute vec3 _glesNormal;
attribute vec4 _glesMultiTexCoord0;
uniform highp mat4 glstate_matrix_mvp;
uniform highp mat4 _Object2World;
uniform highp mat4 _World2Object;
uniform highp vec4 unity_WorldTransformParams;
uniform highp vec4 _MainTex_ST;
uniform highp vec4 _BumpMap_ST;
varying highp vec4 xlv_TEXCOORD0;
varying lowp vec3 xlv_TEXCOORD1;
varying lowp vec3 xlv_TEXCOORD2;
varying lowp vec3 xlv_TEXCOORD3;
varying highp vec3 xlv_TEXCOORD4;
void main ()
{
  lowp float tangentSign_1;
  lowp vec3 worldTangent_2;
  lowp vec3 worldNormal_3;
  highp vec4 tmpvar_4;
  tmpvar_4.xy = ((_glesMultiTexCoord0.xy * _MainTex_ST.xy) + _MainTex_ST.zw);
  tmpvar_4.zw = ((_glesMultiTexCoord0.xy * _BumpMap_ST.xy) + _BumpMap_ST.zw);
  highp vec4 v_5;
  v_5.x = _World2Object[0].x;
  v_5.y = _World2Object[1].x;
  v_5.z = _World2Object[2].x;
  v_5.w = _World2Object[3].x;
  highp vec4 v_6;
  v_6.x = _World2Object[0].y;
  v_6.y = _World2Object[1].y;
  v_6.z = _World2Object[2].y;
  v_6.w = _World2Object[3].y;
  highp vec4 v_7;
  v_7.x = _World2Object[0].z;
  v_7.y = _World2Object[1].z;
  v_7.z = _World2Object[2].z;
  v_7.w = _World2Object[3].z;
  highp vec3 tmpvar_8;
  tmpvar_8 = normalize(((
    (v_5.xyz * _glesNormal.x)
   + 
    (v_6.xyz * _glesNormal.y)
  ) + (v_7.xyz * _glesNormal.z)));
  worldNormal_3 = tmpvar_8;
  highp mat3 tmpvar_9;
  tmpvar_9[0] = _Object2World[0].xyz;
  tmpvar_9[1] = _Object2World[1].xyz;
  tmpvar_9[2] = _Object2World[2].xyz;
  highp vec3 tmpvar_10;
  tmpvar_10 = normalize((tmpvar_9 * _glesTANGENT.xyz));
  worldTangent_2 = tmpvar_10;
  highp float tmpvar_11;
  tmpvar_11 = (_glesTANGENT.w * unity_WorldTransformParams.w);
  tangentSign_1 = tmpvar_11;
  lowp vec3 tmpvar_12;
  tmpvar_12 = (((worldNormal_3.yzx * worldTangent_2.zxy) - (worldNormal_3.zxy * worldTangent_2.yzx)) * tangentSign_1);
  lowp vec3 tmpvar_13;
  tmpvar_13.x = worldTangent_2.x;
  tmpvar_13.y = tmpvar_12.x;
  tmpvar_13.z = worldNormal_3.x;
  lowp vec3 tmpvar_14;
  tmpvar_14.x = worldTangent_2.y;
  tmpvar_14.y = tmpvar_12.y;
  tmpvar_14.z = worldNormal_3.y;
  lowp vec3 tmpvar_15;
  tmpvar_15.x = worldTangent_2.z;
  tmpvar_15.y = tmpvar_12.z;
  tmpvar_15.z = worldNormal_3.z;
  gl_Position = (glstate_matrix_mvp * _glesVertex);
  xlv_TEXCOORD0 = tmpvar_4;
  xlv_TEXCOORD1 = tmpvar_13;
  xlv_TEXCOORD2 = tmpvar_14;
  xlv_TEXCOORD3 = tmpvar_15;
  xlv_TEXCOORD4 = (_Object2World * _glesVertex).xyz;
}


#endif
#ifdef FRAGMENT
uniform highp vec3 _WorldSpaceCameraPos;
uniform highp vec4 _WorldSpaceLightPos0;
uniform mediump vec4 unity_ColorSpaceDielectricSpec;
uniform lowp vec4 _LightColor0;
uniform mediump vec4 unity_LightGammaCorrectionConsts;
uniform sampler2D _LightTexture0;
uniform mediump mat4 _LightMatrix0;
uniform sampler2D _LightTextureB0;
uniform sampler2D _MainTex;
uniform sampler2D _BumpMap;
uniform sampler2D _SpecTex;
uniform lowp float _MetallicIntensity;
uniform lowp float _SmoothnessIntensity;
varying highp vec4 xlv_TEXCOORD0;
varying lowp vec3 xlv_TEXCOORD1;
varying lowp vec3 xlv_TEXCOORD2;
varying lowp vec3 xlv_TEXCOORD3;
varying highp vec3 xlv_TEXCOORD4;
void main ()
{
  mediump vec3 tmpvar_1;
  mediump vec3 tmpvar_2;
  lowp vec3 worldN_3;
  lowp vec4 c_4;
  lowp float atten_5;
  mediump vec4 lightCoord_6;
  lowp vec3 worldViewDir_7;
  lowp vec3 lightDir_8;
  highp vec3 tmpvar_9;
  tmpvar_9 = normalize((_WorldSpaceLightPos0.xyz - xlv_TEXCOORD4));
  lightDir_8 = tmpvar_9;
  highp vec3 tmpvar_10;
  tmpvar_10 = normalize((_WorldSpaceCameraPos - xlv_TEXCOORD4));
  worldViewDir_7 = tmpvar_10;
  lowp vec3 tmpvar_11;
  mediump float tmpvar_12;
  mediump float tmpvar_13;
  lowp vec3 tmpvar_14;
  tmpvar_14 = ((texture2D (_BumpMap, xlv_TEXCOORD0.zw).xyz * 2.0) - 1.0);
  lowp vec4 tmpvar_15;
  tmpvar_15 = texture2D (_SpecTex, xlv_TEXCOORD0.xy);
  tmpvar_11 = texture2D (_MainTex, xlv_TEXCOORD0.xy).xyz;
  tmpvar_13 = (tmpvar_15.x * _SmoothnessIntensity);
  tmpvar_12 = (tmpvar_15.y * _MetallicIntensity);
  highp vec4 tmpvar_16;
  tmpvar_16.w = 1.0;
  tmpvar_16.xyz = xlv_TEXCOORD4;
  highp vec4 tmpvar_17;
  tmpvar_17 = (_LightMatrix0 * tmpvar_16);
  lightCoord_6 = tmpvar_17;
  lowp vec4 tmpvar_18;
  mediump vec2 P_19;
  P_19 = ((lightCoord_6.xy / lightCoord_6.w) + 0.5);
  tmpvar_18 = texture2D (_LightTexture0, P_19);
  highp vec3 LightCoord_20;
  LightCoord_20 = lightCoord_6.xyz;
  highp float tmpvar_21;
  tmpvar_21 = dot (LightCoord_20, LightCoord_20);
  lowp vec4 tmpvar_22;
  tmpvar_22 = texture2D (_LightTextureB0, vec2(tmpvar_21));
  mediump float tmpvar_23;
  tmpvar_23 = ((float(
    (lightCoord_6.z > 0.0)
  ) * tmpvar_18.w) * tmpvar_22.w);
  atten_5 = tmpvar_23;
  worldN_3.x = dot (xlv_TEXCOORD1, tmpvar_14);
  worldN_3.y = dot (xlv_TEXCOORD2, tmpvar_14);
  worldN_3.z = dot (xlv_TEXCOORD3, tmpvar_14);
  tmpvar_1 = _LightColor0.xyz;
  tmpvar_2 = lightDir_8;
  mediump vec3 normal_24;
  normal_24 = worldN_3;
  tmpvar_1 = (tmpvar_1 * atten_5);
  lowp vec3 tmpvar_25;
  mediump vec3 viewDir_26;
  viewDir_26 = worldViewDir_7;
  mediump vec4 c_27;
  lowp vec3 tmpvar_28;
  tmpvar_28 = normalize(worldN_3);
  mediump vec3 tmpvar_29;
  mediump vec3 albedo_30;
  albedo_30 = tmpvar_11;
  tmpvar_29 = (albedo_30 * (unity_ColorSpaceDielectricSpec.w - (tmpvar_12 * unity_ColorSpaceDielectricSpec.w)));
  tmpvar_25 = tmpvar_29;
  mediump vec3 diffColor_31;
  diffColor_31 = tmpvar_25;
  tmpvar_25 = diffColor_31;
  mediump vec3 diffColor_32;
  diffColor_32 = tmpvar_25;
  mediump vec3 normal_33;
  normal_33 = tmpvar_28;
  mediump vec3 tmpvar_34;
  mediump vec3 inVec_35;
  inVec_35 = (tmpvar_2 + viewDir_26);
  tmpvar_34 = (inVec_35 * inversesqrt(max (0.001, 
    dot (inVec_35, inVec_35)
  )));
  mediump float tmpvar_36;
  tmpvar_36 = max (0.0, dot (tmpvar_2, tmpvar_34));
  mediump float tmpvar_37;
  tmpvar_37 = (1.0 - tmpvar_13);
  mediump float tmpvar_38;
  mediump float tmpvar_39;
  tmpvar_39 = max ((10.0 / log2(
    (((1.0 - tmpvar_37) * 0.968) + 0.03)
  )), -255.937);
  tmpvar_38 = (tmpvar_39 * tmpvar_39);
  c_27.xyz = (((diffColor_32 + 
    (clamp (((
      (tmpvar_38 + 1.0)
     * 
      pow (max (0.0, dot (normal_33, tmpvar_34)), tmpvar_38)
    ) / (
      ((unity_LightGammaCorrectionConsts.z * ((
        (tmpvar_36 * tmpvar_36)
       * tmpvar_13) + (tmpvar_37 * tmpvar_37))) * tmpvar_36)
     + 0.0001)), 0.0, 100.0) * mix (unity_ColorSpaceDielectricSpec.xyz, albedo_30, vec3(tmpvar_12)))
  ) * tmpvar_1) * max (0.0, dot (normal_24, tmpvar_2)));
  c_27.w = 0.0;
  c_4.xyz = c_27.xyz;
  c_4.w = 1.0;
  gl_FragData[0] = c_4;
}


#endif
"
}
SubProgram "gles3 " {
Keywords { "SPOT" }
"!!GLES3
#ifdef VERTEX
#version 300 es
precision highp float;
precision highp int;
uniform 	vec4 _Time;
uniform 	vec4 _SinTime;
uniform 	vec4 _CosTime;
uniform 	vec4 unity_DeltaTime;
uniform 	vec3 _WorldSpaceCameraPos;
uniform 	vec4 _ProjectionParams;
uniform 	vec4 _ScreenParams;
uniform 	vec4 _ZBufferParams;
uniform 	vec4 unity_OrthoParams;
uniform 	vec4 unity_CameraWorldClipPlanes[6];
uniform 	mat4 unity_CameraProjection;
uniform 	mat4 unity_CameraInvProjection;
uniform 	vec4 _WorldSpaceLightPos0;
uniform 	vec4 _LightPositionRange;
uniform 	vec4 unity_4LightPosX0;
uniform 	vec4 unity_4LightPosY0;
uniform 	vec4 unity_4LightPosZ0;
uniform 	mediump vec4 unity_4LightAtten0;
uniform 	mediump vec4 unity_LightColor[8];
uniform 	vec4 unity_LightPosition[8];
uniform 	mediump vec4 unity_LightAtten[8];
uniform 	vec4 unity_SpotDirection[8];
uniform 	mediump vec4 unity_SHAr;
uniform 	mediump vec4 unity_SHAg;
uniform 	mediump vec4 unity_SHAb;
uniform 	mediump vec4 unity_SHBr;
uniform 	mediump vec4 unity_SHBg;
uniform 	mediump vec4 unity_SHBb;
uniform 	mediump vec4 unity_SHC;
uniform 	mediump vec3 unity_LightColor0;
uniform 	mediump vec3 unity_LightColor1;
uniform 	mediump vec3 unity_LightColor2;
uniform 	mediump vec3 unity_LightColor3;
uniform 	vec4 unity_ShadowSplitSpheres[4];
uniform 	vec4 unity_ShadowSplitSqRadii;
uniform 	vec4 unity_LightShadowBias;
uniform 	vec4 _LightSplitsNear;
uniform 	vec4 _LightSplitsFar;
uniform 	mat4 unity_World2Shadow[4];
uniform 	mediump vec4 _LightShadowData;
uniform 	vec4 unity_ShadowFadeCenterAndType;
uniform 	mat4 glstate_matrix_mvp;
uniform 	mat4 glstate_matrix_modelview0;
uniform 	mat4 glstate_matrix_invtrans_modelview0;
uniform 	mat4 _Object2World;
uniform 	mat4 _World2Object;
uniform 	vec4 unity_LODFade;
uniform 	vec4 unity_WorldTransformParams;
uniform 	mat4 glstate_matrix_transpose_modelview0;
uniform 	mat4 glstate_matrix_projection;
uniform 	lowp vec4 glstate_lightmodel_ambient;
uniform 	mat4 unity_MatrixV;
uniform 	mat4 unity_MatrixVP;
uniform 	lowp vec4 unity_AmbientSky;
uniform 	lowp vec4 unity_AmbientEquator;
uniform 	lowp vec4 unity_AmbientGround;
uniform 	lowp vec4 unity_FogColor;
uniform 	vec4 unity_FogParams;
uniform 	vec4 unity_LightmapST;
uniform 	vec4 unity_DynamicLightmapST;
uniform 	vec4 unity_SpecCube0_BoxMax;
uniform 	vec4 unity_SpecCube0_BoxMin;
uniform 	vec4 unity_SpecCube0_ProbePosition;
uniform 	mediump vec4 unity_SpecCube0_HDR;
uniform 	vec4 unity_SpecCube1_BoxMax;
uniform 	vec4 unity_SpecCube1_BoxMin;
uniform 	vec4 unity_SpecCube1_ProbePosition;
uniform 	mediump vec4 unity_SpecCube1_HDR;
uniform 	lowp vec4 unity_ColorSpaceGrey;
uniform 	lowp vec4 unity_ColorSpaceDouble;
uniform 	mediump vec4 unity_ColorSpaceDielectricSpec;
uniform 	mediump vec4 unity_ColorSpaceLuminance;
uniform 	mediump vec4 unity_Lightmap_HDR;
uniform 	mediump vec4 unity_DynamicLightmap_HDR;
uniform 	lowp vec4 _LightColor0;
uniform 	lowp vec4 _SpecColor;
uniform 	mediump vec4 unity_LightGammaCorrectionConsts;
uniform 	mediump mat4 _LightMatrix0;
uniform 	lowp float _MetallicIntensity;
uniform 	lowp float _SmoothnessIntensity;
uniform 	lowp float _Cubepower;
uniform 	vec4 _MainTex_ST;
uniform 	vec4 _BumpMap_ST;
in highp vec4 in_POSITION0;
in highp vec4 in_TANGENT0;
in highp vec3 in_NORMAL0;
in highp vec4 in_TEXCOORD0;
out highp vec4 vs_TEXCOORD0;
out lowp vec3 vs_TEXCOORD1;
out lowp vec3 vs_TEXCOORD2;
out lowp vec3 vs_TEXCOORD3;
out highp vec3 vs_TEXCOORD4;
highp vec4 t0;
highp vec3 t1;
lowp vec3 t10_2;
highp float t3;
highp float t9;
void main()
{
    t0 = in_POSITION0.yyyy * glstate_matrix_mvp[1];
    t0 = glstate_matrix_mvp[0] * in_POSITION0.xxxx + t0;
    t0 = glstate_matrix_mvp[2] * in_POSITION0.zzzz + t0;
    gl_Position = glstate_matrix_mvp[3] * in_POSITION0.wwww + t0;
    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
    vs_TEXCOORD0.zw = in_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
    t0.y = in_NORMAL0.x * _World2Object[0].x;
    t0.z = in_NORMAL0.x * _World2Object[1].x;
    t0.x = in_NORMAL0.x * _World2Object[2].x;
    t1.y = in_NORMAL0.y * _World2Object[0].y;
    t1.z = in_NORMAL0.y * _World2Object[1].y;
    t1.x = in_NORMAL0.y * _World2Object[2].y;
    t0.xyz = t0.xyz + t1.xyz;
    t1.y = in_NORMAL0.z * _World2Object[0].z;
    t1.z = in_NORMAL0.z * _World2Object[1].z;
    t1.x = in_NORMAL0.z * _World2Object[2].z;
    t0.xyz = t0.xyz + t1.xyz;
    t9 = dot(t0.xyz, t0.xyz);
    t9 = inversesqrt(t9);
    t0.xyz = vec3(t9) * t0.xyz;
    vs_TEXCOORD1.z = t0.y;
    t1.xyz = in_TANGENT0.yyy * _Object2World[1].yzx;
    t1.xyz = _Object2World[0].yzx * in_TANGENT0.xxx + t1.xyz;
    t1.xyz = _Object2World[2].yzx * in_TANGENT0.zzz + t1.xyz;
    t9 = dot(t1.xyz, t1.xyz);
    t9 = inversesqrt(t9);
    t1.xyz = vec3(t9) * t1.xyz;
    t10_2.xyz = t0.xyz * t1.xyz;
    t10_2.xyz = t0.zxy * t1.yzx + (-t10_2.xyz);
    t3 = in_TANGENT0.w * unity_WorldTransformParams.w;
    t10_2.xyz = vec3(t3) * t10_2.xyz;
    vs_TEXCOORD1.y = t10_2.x;
    vs_TEXCOORD1.x = t1.z;
    vs_TEXCOORD2.z = t0.z;
    vs_TEXCOORD3.z = t0.x;
    vs_TEXCOORD2.x = t1.x;
    vs_TEXCOORD3.x = t1.y;
    vs_TEXCOORD2.y = t10_2.y;
    vs_TEXCOORD3.y = t10_2.z;
    t0.xyz = in_POSITION0.yyy * _Object2World[1].xyz;
    t0.xyz = _Object2World[0].xyz * in_POSITION0.xxx + t0.xyz;
    t0.xyz = _Object2World[2].xyz * in_POSITION0.zzz + t0.xyz;
    vs_TEXCOORD4.xyz = _Object2World[3].xyz * in_POSITION0.www + t0.xyz;
    return;
}

#endif
#ifdef FRAGMENT
#version 300 es
precision highp float;
precision highp int;
uniform 	vec4 _Time;
uniform 	vec4 _SinTime;
uniform 	vec4 _CosTime;
uniform 	vec4 unity_DeltaTime;
uniform 	vec3 _WorldSpaceCameraPos;
uniform 	vec4 _ProjectionParams;
uniform 	vec4 _ScreenParams;
uniform 	vec4 _ZBufferParams;
uniform 	vec4 unity_OrthoParams;
uniform 	vec4 unity_CameraWorldClipPlanes[6];
uniform 	mat4 unity_CameraProjection;
uniform 	mat4 unity_CameraInvProjection;
uniform 	vec4 _WorldSpaceLightPos0;
uniform 	vec4 _LightPositionRange;
uniform 	vec4 unity_4LightPosX0;
uniform 	vec4 unity_4LightPosY0;
uniform 	vec4 unity_4LightPosZ0;
uniform 	mediump vec4 unity_4LightAtten0;
uniform 	mediump vec4 unity_LightColor[8];
uniform 	vec4 unity_LightPosition[8];
uniform 	mediump vec4 unity_LightAtten[8];
uniform 	vec4 unity_SpotDirection[8];
uniform 	mediump vec4 unity_SHAr;
uniform 	mediump vec4 unity_SHAg;
uniform 	mediump vec4 unity_SHAb;
uniform 	mediump vec4 unity_SHBr;
uniform 	mediump vec4 unity_SHBg;
uniform 	mediump vec4 unity_SHBb;
uniform 	mediump vec4 unity_SHC;
uniform 	mediump vec3 unity_LightColor0;
uniform 	mediump vec3 unity_LightColor1;
uniform 	mediump vec3 unity_LightColor2;
uniform 	mediump vec3 unity_LightColor3;
uniform 	vec4 unity_ShadowSplitSpheres[4];
uniform 	vec4 unity_ShadowSplitSqRadii;
uniform 	vec4 unity_LightShadowBias;
uniform 	vec4 _LightSplitsNear;
uniform 	vec4 _LightSplitsFar;
uniform 	mat4 unity_World2Shadow[4];
uniform 	mediump vec4 _LightShadowData;
uniform 	vec4 unity_ShadowFadeCenterAndType;
uniform 	mat4 glstate_matrix_mvp;
uniform 	mat4 glstate_matrix_modelview0;
uniform 	mat4 glstate_matrix_invtrans_modelview0;
uniform 	mat4 _Object2World;
uniform 	mat4 _World2Object;
uniform 	vec4 unity_LODFade;
uniform 	vec4 unity_WorldTransformParams;
uniform 	mat4 glstate_matrix_transpose_modelview0;
uniform 	mat4 glstate_matrix_projection;
uniform 	lowp vec4 glstate_lightmodel_ambient;
uniform 	mat4 unity_MatrixV;
uniform 	mat4 unity_MatrixVP;
uniform 	lowp vec4 unity_AmbientSky;
uniform 	lowp vec4 unity_AmbientEquator;
uniform 	lowp vec4 unity_AmbientGround;
uniform 	lowp vec4 unity_FogColor;
uniform 	vec4 unity_FogParams;
uniform 	vec4 unity_LightmapST;
uniform 	vec4 unity_DynamicLightmapST;
uniform 	vec4 unity_SpecCube0_BoxMax;
uniform 	vec4 unity_SpecCube0_BoxMin;
uniform 	vec4 unity_SpecCube0_ProbePosition;
uniform 	mediump vec4 unity_SpecCube0_HDR;
uniform 	vec4 unity_SpecCube1_BoxMax;
uniform 	vec4 unity_SpecCube1_BoxMin;
uniform 	vec4 unity_SpecCube1_ProbePosition;
uniform 	mediump vec4 unity_SpecCube1_HDR;
uniform 	lowp vec4 unity_ColorSpaceGrey;
uniform 	lowp vec4 unity_ColorSpaceDouble;
uniform 	mediump vec4 unity_ColorSpaceDielectricSpec;
uniform 	mediump vec4 unity_ColorSpaceLuminance;
uniform 	mediump vec4 unity_Lightmap_HDR;
uniform 	mediump vec4 unity_DynamicLightmap_HDR;
uniform 	lowp vec4 _LightColor0;
uniform 	lowp vec4 _SpecColor;
uniform 	mediump vec4 unity_LightGammaCorrectionConsts;
uniform 	mediump mat4 _LightMatrix0;
uniform 	lowp float _MetallicIntensity;
uniform 	lowp float _SmoothnessIntensity;
uniform 	lowp float _Cubepower;
uniform 	vec4 _MainTex_ST;
uniform 	vec4 _BumpMap_ST;
uniform lowp sampler2D _MainTex;
uniform lowp sampler2D _BumpMap;
uniform lowp sampler2D _SpecTex;
uniform lowp sampler2D _LightTexture0;
uniform lowp sampler2D _LightTextureB0;
in highp vec4 vs_TEXCOORD0;
in lowp vec3 vs_TEXCOORD1;
in lowp vec3 vs_TEXCOORD2;
in lowp vec3 vs_TEXCOORD3;
in highp vec3 vs_TEXCOORD4;
layout(location = 0) out lowp vec4 SV_Target0;
mediump vec4 t16_0;
mediump vec3 t16_1;
highp vec3 t2;
mediump float t16_2;
lowp vec4 t10_2;
lowp vec3 t10_3;
highp vec3 t4;
lowp vec3 t10_5;
mediump float t16_7;
mediump float t16_8;
bool tb8;
mediump float t16_13;
mediump float t16_14;
lowp vec2 t10_14;
mediump float t16_18;
mediump float t16_19;
highp float t20;
highp float t22;
void main()
{
    t16_0 = vs_TEXCOORD4.yyyy * _LightMatrix0[1];
    t16_0 = _LightMatrix0[0] * vs_TEXCOORD4.xxxx + t16_0;
    t16_0 = _LightMatrix0[2] * vs_TEXCOORD4.zzzz + t16_0;
    t16_0 = t16_0 + _LightMatrix0[3];
    t16_1.xy = t16_0.xy / t16_0.ww;
    t16_1.xy = t16_1.xy + vec2(0.5, 0.5);
    t10_2.x = texture(_LightTexture0, t16_1.xy).w;
    tb8 = 0.0<t16_0.z;
    t16_14 = dot(t16_0.xyz, t16_0.xyz);
    t10_14.x = texture(_LightTextureB0, vec2(t16_14)).w;
    t10_3.x = (tb8) ? 1.0 : 0.0;
    t10_3.x = t10_2.x * t10_3.x;
    t10_3.x = t10_14.x * t10_3.x;
    t16_0.xyz = t10_3.xxx * _LightColor0.xyz;
    t2.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyzx.xyz;
    t20 = dot(t2.xyz, t2.xyz);
    t20 = inversesqrt(t20);
    t4.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
    t22 = dot(t4.xyz, t4.xyz);
    t22 = inversesqrt(t22);
    t4.xyz = vec3(t22) * t4.xyz;
    t16_1.xyz = t2.xyz * vec3(t20) + t4.xyz;
    t16_18 = dot(t16_1.xyz, t16_1.xyz);
    t16_2 = max(t16_18, 0.00100000005);
    t16_18 = inversesqrt(t16_2);
    t16_1.xyz = vec3(t16_18) * t16_1.xyz;
    t10_2.xyz = texture(_BumpMap, vs_TEXCOORD0.zw).xyz;
    t10_3.xyz = t10_2.xyz * vec3(2.0, 2.0, 2.0) + vec3(-1.0, -1.0, -1.0);
    t10_5.x = dot(vs_TEXCOORD1.xyz, t10_3.xyz);
    t10_5.y = dot(vs_TEXCOORD2.xyz, t10_3.xyz);
    t10_5.z = dot(vs_TEXCOORD3.xyz, t10_3.xyz);
    t10_3.x = dot(t10_5.xyz, t10_5.xyz);
    t10_3.x = inversesqrt(t10_3.x);
    t10_3.xyz = t10_3.xxx * t10_5.xyz;
    t16_18 = dot(t10_5.xyz, t4.xyz);
    t16_19 = dot(t4.xyz, t16_1.xyz);
    t16_1.x = dot(t10_3.xyz, t16_1.xyz);
    t16_2 = max(t16_1.x, 0.0);
    t16_1.x = log2(t16_2);
    t16_2 = max(t16_19, 0.0);
    t16_8 = max(t16_18, 0.0);
    t10_14.xy = texture(_SpecTex, vs_TEXCOORD0.xy).xy;
    t16_18 = (-t10_14.x) * _SmoothnessIntensity + 1.0;
    t10_3.xy = t10_14.xy * vec2(_SmoothnessIntensity, _MetallicIntensity);
    t16_7 = (-t16_18) + 1.0;
    t16_18 = t16_18 * t16_18;
    t16_7 = t16_7 * 0.967999995 + 0.0299999993;
    t16_7 = log2(t16_7);
    t16_7 = 10.0 / t16_7;
    t16_7 = max(t16_7, -255.936996);
    t16_13 = t16_7 * t16_7;
    t16_7 = t16_7 * t16_7 + 1.0;
    t16_1.x = t16_1.x * t16_13;
    t16_1.x = exp2(t16_1.x);
    t16_1.x = t16_1.x * t16_7;
    t16_7 = t16_2 * t16_2;
    t16_18 = t16_7 * t10_3.x + t16_18;
    t16_18 = t16_18 * unity_LightGammaCorrectionConsts.z;
    t16_2 = t16_18 * t16_2 + 9.99999975e-05;
    t16_2 = t16_1.x / t16_2;
    t16_18 = max(t16_2, 0.0);
    t16_18 = min(t16_18, 100.0);
    t10_2.xzw = texture(_MainTex, vs_TEXCOORD0.xy).xyz;
    t16_1.xyz = t10_2.xzw + (-unity_ColorSpaceDielectricSpec.xyz);
    t16_1.xyz = t10_3.yyy * t16_1.xyz + unity_ColorSpaceDielectricSpec.xyz;
    t16_19 = (-t10_3.y) * unity_ColorSpaceDielectricSpec.w + unity_ColorSpaceDielectricSpec.w;
    t16_1.xyz = vec3(t16_18) * t16_1.xyz;
    t16_1.xyz = t10_2.xzw * vec3(t16_19) + t16_1.xyz;
    t16_0.xyz = t16_0.xyz * t16_1.xyz;
    t16_0.xyz = vec3(t16_8) * t16_0.xyz;
    SV_Target0.xyz = t16_0.xyz;
    SV_Target0.w = 1.0;
    return;
}

#endif
"
}
SubProgram "gles " {
Keywords { "POINT_COOKIE" }
"!!GLES
#version 100

#ifdef VERTEX
attribute vec4 _glesTANGENT;
attribute vec4 _glesVertex;
attribute vec3 _glesNormal;
attribute vec4 _glesMultiTexCoord0;
uniform highp mat4 glstate_matrix_mvp;
uniform highp mat4 _Object2World;
uniform highp mat4 _World2Object;
uniform highp vec4 unity_WorldTransformParams;
uniform highp vec4 _MainTex_ST;
uniform highp vec4 _BumpMap_ST;
varying highp vec4 xlv_TEXCOORD0;
varying lowp vec3 xlv_TEXCOORD1;
varying lowp vec3 xlv_TEXCOORD2;
varying lowp vec3 xlv_TEXCOORD3;
varying highp vec3 xlv_TEXCOORD4;
void main ()
{
  lowp float tangentSign_1;
  lowp vec3 worldTangent_2;
  lowp vec3 worldNormal_3;
  highp vec4 tmpvar_4;
  tmpvar_4.xy = ((_glesMultiTexCoord0.xy * _MainTex_ST.xy) + _MainTex_ST.zw);
  tmpvar_4.zw = ((_glesMultiTexCoord0.xy * _BumpMap_ST.xy) + _BumpMap_ST.zw);
  highp vec4 v_5;
  v_5.x = _World2Object[0].x;
  v_5.y = _World2Object[1].x;
  v_5.z = _World2Object[2].x;
  v_5.w = _World2Object[3].x;
  highp vec4 v_6;
  v_6.x = _World2Object[0].y;
  v_6.y = _World2Object[1].y;
  v_6.z = _World2Object[2].y;
  v_6.w = _World2Object[3].y;
  highp vec4 v_7;
  v_7.x = _World2Object[0].z;
  v_7.y = _World2Object[1].z;
  v_7.z = _World2Object[2].z;
  v_7.w = _World2Object[3].z;
  highp vec3 tmpvar_8;
  tmpvar_8 = normalize(((
    (v_5.xyz * _glesNormal.x)
   + 
    (v_6.xyz * _glesNormal.y)
  ) + (v_7.xyz * _glesNormal.z)));
  worldNormal_3 = tmpvar_8;
  highp mat3 tmpvar_9;
  tmpvar_9[0] = _Object2World[0].xyz;
  tmpvar_9[1] = _Object2World[1].xyz;
  tmpvar_9[2] = _Object2World[2].xyz;
  highp vec3 tmpvar_10;
  tmpvar_10 = normalize((tmpvar_9 * _glesTANGENT.xyz));
  worldTangent_2 = tmpvar_10;
  highp float tmpvar_11;
  tmpvar_11 = (_glesTANGENT.w * unity_WorldTransformParams.w);
  tangentSign_1 = tmpvar_11;
  lowp vec3 tmpvar_12;
  tmpvar_12 = (((worldNormal_3.yzx * worldTangent_2.zxy) - (worldNormal_3.zxy * worldTangent_2.yzx)) * tangentSign_1);
  lowp vec3 tmpvar_13;
  tmpvar_13.x = worldTangent_2.x;
  tmpvar_13.y = tmpvar_12.x;
  tmpvar_13.z = worldNormal_3.x;
  lowp vec3 tmpvar_14;
  tmpvar_14.x = worldTangent_2.y;
  tmpvar_14.y = tmpvar_12.y;
  tmpvar_14.z = worldNormal_3.y;
  lowp vec3 tmpvar_15;
  tmpvar_15.x = worldTangent_2.z;
  tmpvar_15.y = tmpvar_12.z;
  tmpvar_15.z = worldNormal_3.z;
  gl_Position = (glstate_matrix_mvp * _glesVertex);
  xlv_TEXCOORD0 = tmpvar_4;
  xlv_TEXCOORD1 = tmpvar_13;
  xlv_TEXCOORD2 = tmpvar_14;
  xlv_TEXCOORD3 = tmpvar_15;
  xlv_TEXCOORD4 = (_Object2World * _glesVertex).xyz;
}


#endif
#ifdef FRAGMENT
uniform highp vec3 _WorldSpaceCameraPos;
uniform highp vec4 _WorldSpaceLightPos0;
uniform mediump vec4 unity_ColorSpaceDielectricSpec;
uniform lowp vec4 _LightColor0;
uniform mediump vec4 unity_LightGammaCorrectionConsts;
uniform lowp samplerCube _LightTexture0;
uniform mediump mat4 _LightMatrix0;
uniform sampler2D _LightTextureB0;
uniform sampler2D _MainTex;
uniform sampler2D _BumpMap;
uniform sampler2D _SpecTex;
uniform lowp float _MetallicIntensity;
uniform lowp float _SmoothnessIntensity;
varying highp vec4 xlv_TEXCOORD0;
varying lowp vec3 xlv_TEXCOORD1;
varying lowp vec3 xlv_TEXCOORD2;
varying lowp vec3 xlv_TEXCOORD3;
varying highp vec3 xlv_TEXCOORD4;
void main ()
{
  mediump vec3 tmpvar_1;
  mediump vec3 tmpvar_2;
  lowp vec3 worldN_3;
  lowp vec4 c_4;
  lowp vec3 worldViewDir_5;
  lowp vec3 lightDir_6;
  highp vec3 tmpvar_7;
  tmpvar_7 = normalize((_WorldSpaceLightPos0.xyz - xlv_TEXCOORD4));
  lightDir_6 = tmpvar_7;
  highp vec3 tmpvar_8;
  tmpvar_8 = normalize((_WorldSpaceCameraPos - xlv_TEXCOORD4));
  worldViewDir_5 = tmpvar_8;
  lowp vec3 tmpvar_9;
  mediump float tmpvar_10;
  mediump float tmpvar_11;
  lowp vec3 tmpvar_12;
  tmpvar_12 = ((texture2D (_BumpMap, xlv_TEXCOORD0.zw).xyz * 2.0) - 1.0);
  lowp vec4 tmpvar_13;
  tmpvar_13 = texture2D (_SpecTex, xlv_TEXCOORD0.xy);
  tmpvar_9 = texture2D (_MainTex, xlv_TEXCOORD0.xy).xyz;
  tmpvar_11 = (tmpvar_13.x * _SmoothnessIntensity);
  tmpvar_10 = (tmpvar_13.y * _MetallicIntensity);
  highp vec4 tmpvar_14;
  tmpvar_14.w = 1.0;
  tmpvar_14.xyz = xlv_TEXCOORD4;
  highp vec3 tmpvar_15;
  tmpvar_15 = (_LightMatrix0 * tmpvar_14).xyz;
  highp float tmpvar_16;
  tmpvar_16 = dot (tmpvar_15, tmpvar_15);
  lowp float tmpvar_17;
  tmpvar_17 = (texture2D (_LightTextureB0, vec2(tmpvar_16)).w * textureCube (_LightTexture0, tmpvar_15).w);
  worldN_3.x = dot (xlv_TEXCOORD1, tmpvar_12);
  worldN_3.y = dot (xlv_TEXCOORD2, tmpvar_12);
  worldN_3.z = dot (xlv_TEXCOORD3, tmpvar_12);
  tmpvar_1 = _LightColor0.xyz;
  tmpvar_2 = lightDir_6;
  mediump vec3 normal_18;
  normal_18 = worldN_3;
  tmpvar_1 = (tmpvar_1 * tmpvar_17);
  lowp vec3 tmpvar_19;
  mediump vec3 viewDir_20;
  viewDir_20 = worldViewDir_5;
  mediump vec4 c_21;
  lowp vec3 tmpvar_22;
  tmpvar_22 = normalize(worldN_3);
  mediump vec3 tmpvar_23;
  mediump vec3 albedo_24;
  albedo_24 = tmpvar_9;
  tmpvar_23 = (albedo_24 * (unity_ColorSpaceDielectricSpec.w - (tmpvar_10 * unity_ColorSpaceDielectricSpec.w)));
  tmpvar_19 = tmpvar_23;
  mediump vec3 diffColor_25;
  diffColor_25 = tmpvar_19;
  tmpvar_19 = diffColor_25;
  mediump vec3 diffColor_26;
  diffColor_26 = tmpvar_19;
  mediump vec3 normal_27;
  normal_27 = tmpvar_22;
  mediump vec3 tmpvar_28;
  mediump vec3 inVec_29;
  inVec_29 = (tmpvar_2 + viewDir_20);
  tmpvar_28 = (inVec_29 * inversesqrt(max (0.001, 
    dot (inVec_29, inVec_29)
  )));
  mediump float tmpvar_30;
  tmpvar_30 = max (0.0, dot (tmpvar_2, tmpvar_28));
  mediump float tmpvar_31;
  tmpvar_31 = (1.0 - tmpvar_11);
  mediump float tmpvar_32;
  mediump float tmpvar_33;
  tmpvar_33 = max ((10.0 / log2(
    (((1.0 - tmpvar_31) * 0.968) + 0.03)
  )), -255.937);
  tmpvar_32 = (tmpvar_33 * tmpvar_33);
  c_21.xyz = (((diffColor_26 + 
    (clamp (((
      (tmpvar_32 + 1.0)
     * 
      pow (max (0.0, dot (normal_27, tmpvar_28)), tmpvar_32)
    ) / (
      ((unity_LightGammaCorrectionConsts.z * ((
        (tmpvar_30 * tmpvar_30)
       * tmpvar_11) + (tmpvar_31 * tmpvar_31))) * tmpvar_30)
     + 0.0001)), 0.0, 100.0) * mix (unity_ColorSpaceDielectricSpec.xyz, albedo_24, vec3(tmpvar_10)))
  ) * tmpvar_1) * max (0.0, dot (normal_18, tmpvar_2)));
  c_21.w = 0.0;
  c_4.xyz = c_21.xyz;
  c_4.w = 1.0;
  gl_FragData[0] = c_4;
}


#endif
"
}
SubProgram "gles3 " {
Keywords { "POINT_COOKIE" }
"!!GLES3
#ifdef VERTEX
#version 300 es
precision highp float;
precision highp int;
uniform 	vec4 _Time;
uniform 	vec4 _SinTime;
uniform 	vec4 _CosTime;
uniform 	vec4 unity_DeltaTime;
uniform 	vec3 _WorldSpaceCameraPos;
uniform 	vec4 _ProjectionParams;
uniform 	vec4 _ScreenParams;
uniform 	vec4 _ZBufferParams;
uniform 	vec4 unity_OrthoParams;
uniform 	vec4 unity_CameraWorldClipPlanes[6];
uniform 	mat4 unity_CameraProjection;
uniform 	mat4 unity_CameraInvProjection;
uniform 	vec4 _WorldSpaceLightPos0;
uniform 	vec4 _LightPositionRange;
uniform 	vec4 unity_4LightPosX0;
uniform 	vec4 unity_4LightPosY0;
uniform 	vec4 unity_4LightPosZ0;
uniform 	mediump vec4 unity_4LightAtten0;
uniform 	mediump vec4 unity_LightColor[8];
uniform 	vec4 unity_LightPosition[8];
uniform 	mediump vec4 unity_LightAtten[8];
uniform 	vec4 unity_SpotDirection[8];
uniform 	mediump vec4 unity_SHAr;
uniform 	mediump vec4 unity_SHAg;
uniform 	mediump vec4 unity_SHAb;
uniform 	mediump vec4 unity_SHBr;
uniform 	mediump vec4 unity_SHBg;
uniform 	mediump vec4 unity_SHBb;
uniform 	mediump vec4 unity_SHC;
uniform 	mediump vec3 unity_LightColor0;
uniform 	mediump vec3 unity_LightColor1;
uniform 	mediump vec3 unity_LightColor2;
uniform 	mediump vec3 unity_LightColor3;
uniform 	vec4 unity_ShadowSplitSpheres[4];
uniform 	vec4 unity_ShadowSplitSqRadii;
uniform 	vec4 unity_LightShadowBias;
uniform 	vec4 _LightSplitsNear;
uniform 	vec4 _LightSplitsFar;
uniform 	mat4 unity_World2Shadow[4];
uniform 	mediump vec4 _LightShadowData;
uniform 	vec4 unity_ShadowFadeCenterAndType;
uniform 	mat4 glstate_matrix_mvp;
uniform 	mat4 glstate_matrix_modelview0;
uniform 	mat4 glstate_matrix_invtrans_modelview0;
uniform 	mat4 _Object2World;
uniform 	mat4 _World2Object;
uniform 	vec4 unity_LODFade;
uniform 	vec4 unity_WorldTransformParams;
uniform 	mat4 glstate_matrix_transpose_modelview0;
uniform 	mat4 glstate_matrix_projection;
uniform 	lowp vec4 glstate_lightmodel_ambient;
uniform 	mat4 unity_MatrixV;
uniform 	mat4 unity_MatrixVP;
uniform 	lowp vec4 unity_AmbientSky;
uniform 	lowp vec4 unity_AmbientEquator;
uniform 	lowp vec4 unity_AmbientGround;
uniform 	lowp vec4 unity_FogColor;
uniform 	vec4 unity_FogParams;
uniform 	vec4 unity_LightmapST;
uniform 	vec4 unity_DynamicLightmapST;
uniform 	vec4 unity_SpecCube0_BoxMax;
uniform 	vec4 unity_SpecCube0_BoxMin;
uniform 	vec4 unity_SpecCube0_ProbePosition;
uniform 	mediump vec4 unity_SpecCube0_HDR;
uniform 	vec4 unity_SpecCube1_BoxMax;
uniform 	vec4 unity_SpecCube1_BoxMin;
uniform 	vec4 unity_SpecCube1_ProbePosition;
uniform 	mediump vec4 unity_SpecCube1_HDR;
uniform 	lowp vec4 unity_ColorSpaceGrey;
uniform 	lowp vec4 unity_ColorSpaceDouble;
uniform 	mediump vec4 unity_ColorSpaceDielectricSpec;
uniform 	mediump vec4 unity_ColorSpaceLuminance;
uniform 	mediump vec4 unity_Lightmap_HDR;
uniform 	mediump vec4 unity_DynamicLightmap_HDR;
uniform 	lowp vec4 _LightColor0;
uniform 	lowp vec4 _SpecColor;
uniform 	mediump vec4 unity_LightGammaCorrectionConsts;
uniform 	mediump mat4 _LightMatrix0;
uniform 	lowp float _MetallicIntensity;
uniform 	lowp float _SmoothnessIntensity;
uniform 	lowp float _Cubepower;
uniform 	vec4 _MainTex_ST;
uniform 	vec4 _BumpMap_ST;
in highp vec4 in_POSITION0;
in highp vec4 in_TANGENT0;
in highp vec3 in_NORMAL0;
in highp vec4 in_TEXCOORD0;
out highp vec4 vs_TEXCOORD0;
out lowp vec3 vs_TEXCOORD1;
out lowp vec3 vs_TEXCOORD2;
out lowp vec3 vs_TEXCOORD3;
out highp vec3 vs_TEXCOORD4;
highp vec4 t0;
highp vec3 t1;
lowp vec3 t10_2;
highp float t3;
highp float t9;
void main()
{
    t0 = in_POSITION0.yyyy * glstate_matrix_mvp[1];
    t0 = glstate_matrix_mvp[0] * in_POSITION0.xxxx + t0;
    t0 = glstate_matrix_mvp[2] * in_POSITION0.zzzz + t0;
    gl_Position = glstate_matrix_mvp[3] * in_POSITION0.wwww + t0;
    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
    vs_TEXCOORD0.zw = in_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
    t0.y = in_NORMAL0.x * _World2Object[0].x;
    t0.z = in_NORMAL0.x * _World2Object[1].x;
    t0.x = in_NORMAL0.x * _World2Object[2].x;
    t1.y = in_NORMAL0.y * _World2Object[0].y;
    t1.z = in_NORMAL0.y * _World2Object[1].y;
    t1.x = in_NORMAL0.y * _World2Object[2].y;
    t0.xyz = t0.xyz + t1.xyz;
    t1.y = in_NORMAL0.z * _World2Object[0].z;
    t1.z = in_NORMAL0.z * _World2Object[1].z;
    t1.x = in_NORMAL0.z * _World2Object[2].z;
    t0.xyz = t0.xyz + t1.xyz;
    t9 = dot(t0.xyz, t0.xyz);
    t9 = inversesqrt(t9);
    t0.xyz = vec3(t9) * t0.xyz;
    vs_TEXCOORD1.z = t0.y;
    t1.xyz = in_TANGENT0.yyy * _Object2World[1].yzx;
    t1.xyz = _Object2World[0].yzx * in_TANGENT0.xxx + t1.xyz;
    t1.xyz = _Object2World[2].yzx * in_TANGENT0.zzz + t1.xyz;
    t9 = dot(t1.xyz, t1.xyz);
    t9 = inversesqrt(t9);
    t1.xyz = vec3(t9) * t1.xyz;
    t10_2.xyz = t0.xyz * t1.xyz;
    t10_2.xyz = t0.zxy * t1.yzx + (-t10_2.xyz);
    t3 = in_TANGENT0.w * unity_WorldTransformParams.w;
    t10_2.xyz = vec3(t3) * t10_2.xyz;
    vs_TEXCOORD1.y = t10_2.x;
    vs_TEXCOORD1.x = t1.z;
    vs_TEXCOORD2.z = t0.z;
    vs_TEXCOORD3.z = t0.x;
    vs_TEXCOORD2.x = t1.x;
    vs_TEXCOORD3.x = t1.y;
    vs_TEXCOORD2.y = t10_2.y;
    vs_TEXCOORD3.y = t10_2.z;
    t0.xyz = in_POSITION0.yyy * _Object2World[1].xyz;
    t0.xyz = _Object2World[0].xyz * in_POSITION0.xxx + t0.xyz;
    t0.xyz = _Object2World[2].xyz * in_POSITION0.zzz + t0.xyz;
    vs_TEXCOORD4.xyz = _Object2World[3].xyz * in_POSITION0.www + t0.xyz;
    return;
}

#endif
#ifdef FRAGMENT
#version 300 es
precision highp float;
precision highp int;
uniform 	vec4 _Time;
uniform 	vec4 _SinTime;
uniform 	vec4 _CosTime;
uniform 	vec4 unity_DeltaTime;
uniform 	vec3 _WorldSpaceCameraPos;
uniform 	vec4 _ProjectionParams;
uniform 	vec4 _ScreenParams;
uniform 	vec4 _ZBufferParams;
uniform 	vec4 unity_OrthoParams;
uniform 	vec4 unity_CameraWorldClipPlanes[6];
uniform 	mat4 unity_CameraProjection;
uniform 	mat4 unity_CameraInvProjection;
uniform 	vec4 _WorldSpaceLightPos0;
uniform 	vec4 _LightPositionRange;
uniform 	vec4 unity_4LightPosX0;
uniform 	vec4 unity_4LightPosY0;
uniform 	vec4 unity_4LightPosZ0;
uniform 	mediump vec4 unity_4LightAtten0;
uniform 	mediump vec4 unity_LightColor[8];
uniform 	vec4 unity_LightPosition[8];
uniform 	mediump vec4 unity_LightAtten[8];
uniform 	vec4 unity_SpotDirection[8];
uniform 	mediump vec4 unity_SHAr;
uniform 	mediump vec4 unity_SHAg;
uniform 	mediump vec4 unity_SHAb;
uniform 	mediump vec4 unity_SHBr;
uniform 	mediump vec4 unity_SHBg;
uniform 	mediump vec4 unity_SHBb;
uniform 	mediump vec4 unity_SHC;
uniform 	mediump vec3 unity_LightColor0;
uniform 	mediump vec3 unity_LightColor1;
uniform 	mediump vec3 unity_LightColor2;
uniform 	mediump vec3 unity_LightColor3;
uniform 	vec4 unity_ShadowSplitSpheres[4];
uniform 	vec4 unity_ShadowSplitSqRadii;
uniform 	vec4 unity_LightShadowBias;
uniform 	vec4 _LightSplitsNear;
uniform 	vec4 _LightSplitsFar;
uniform 	mat4 unity_World2Shadow[4];
uniform 	mediump vec4 _LightShadowData;
uniform 	vec4 unity_ShadowFadeCenterAndType;
uniform 	mat4 glstate_matrix_mvp;
uniform 	mat4 glstate_matrix_modelview0;
uniform 	mat4 glstate_matrix_invtrans_modelview0;
uniform 	mat4 _Object2World;
uniform 	mat4 _World2Object;
uniform 	vec4 unity_LODFade;
uniform 	vec4 unity_WorldTransformParams;
uniform 	mat4 glstate_matrix_transpose_modelview0;
uniform 	mat4 glstate_matrix_projection;
uniform 	lowp vec4 glstate_lightmodel_ambient;
uniform 	mat4 unity_MatrixV;
uniform 	mat4 unity_MatrixVP;
uniform 	lowp vec4 unity_AmbientSky;
uniform 	lowp vec4 unity_AmbientEquator;
uniform 	lowp vec4 unity_AmbientGround;
uniform 	lowp vec4 unity_FogColor;
uniform 	vec4 unity_FogParams;
uniform 	vec4 unity_LightmapST;
uniform 	vec4 unity_DynamicLightmapST;
uniform 	vec4 unity_SpecCube0_BoxMax;
uniform 	vec4 unity_SpecCube0_BoxMin;
uniform 	vec4 unity_SpecCube0_ProbePosition;
uniform 	mediump vec4 unity_SpecCube0_HDR;
uniform 	vec4 unity_SpecCube1_BoxMax;
uniform 	vec4 unity_SpecCube1_BoxMin;
uniform 	vec4 unity_SpecCube1_ProbePosition;
uniform 	mediump vec4 unity_SpecCube1_HDR;
uniform 	lowp vec4 unity_ColorSpaceGrey;
uniform 	lowp vec4 unity_ColorSpaceDouble;
uniform 	mediump vec4 unity_ColorSpaceDielectricSpec;
uniform 	mediump vec4 unity_ColorSpaceLuminance;
uniform 	mediump vec4 unity_Lightmap_HDR;
uniform 	mediump vec4 unity_DynamicLightmap_HDR;
uniform 	lowp vec4 _LightColor0;
uniform 	lowp vec4 _SpecColor;
uniform 	mediump vec4 unity_LightGammaCorrectionConsts;
uniform 	mediump mat4 _LightMatrix0;
uniform 	lowp float _MetallicIntensity;
uniform 	lowp float _SmoothnessIntensity;
uniform 	lowp float _Cubepower;
uniform 	vec4 _MainTex_ST;
uniform 	vec4 _BumpMap_ST;
uniform lowp sampler2D _MainTex;
uniform lowp sampler2D _BumpMap;
uniform lowp sampler2D _SpecTex;
uniform lowp sampler2D _LightTextureB0;
uniform lowp samplerCube _LightTexture0;
in highp vec4 vs_TEXCOORD0;
in lowp vec3 vs_TEXCOORD1;
in lowp vec3 vs_TEXCOORD2;
in lowp vec3 vs_TEXCOORD3;
in highp vec3 vs_TEXCOORD4;
layout(location = 0) out lowp vec4 SV_Target0;
highp vec3 t0;
mediump vec2 t16_0;
lowp vec4 t10_0;
highp vec3 t1;
mediump vec4 t16_2;
lowp vec3 t10_3;
lowp vec3 t10_4;
mediump vec3 t16_5;
mediump vec3 t16_8;
lowp vec2 t10_12;
mediump float t16_14;
highp float t18;
highp float t19;
mediump float t16_20;
void main()
{
    t0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyzx.xyz;
    t18 = dot(t0.xyz, t0.xyz);
    t18 = inversesqrt(t18);
    t1.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceLightPos0.xyz;
    t19 = dot(t1.xyz, t1.xyz);
    t19 = inversesqrt(t19);
    t1.xyz = vec3(t19) * t1.xyz;
    t16_2.xyz = t0.xyz * vec3(t18) + t1.xyz;
    t16_20 = dot(t16_2.xyz, t16_2.xyz);
    t16_0.x = max(t16_20, 0.00100000005);
    t16_20 = inversesqrt(t16_0.x);
    t16_2.xyz = vec3(t16_20) * t16_2.xyz;
    t10_0.xyz = texture(_BumpMap, vs_TEXCOORD0.zw).xyz;
    t10_3.xyz = t10_0.xyz * vec3(2.0, 2.0, 2.0) + vec3(-1.0, -1.0, -1.0);
    t10_4.x = dot(vs_TEXCOORD1.xyz, t10_3.xyz);
    t10_4.y = dot(vs_TEXCOORD2.xyz, t10_3.xyz);
    t10_4.z = dot(vs_TEXCOORD3.xyz, t10_3.xyz);
    t10_3.x = dot(t10_4.xyz, t10_4.xyz);
    t10_3.x = inversesqrt(t10_3.x);
    t10_3.xyz = t10_3.xxx * t10_4.xyz;
    t16_2.w = dot(t10_4.xyz, t1.xyz);
    t16_5.x = dot(t1.xyz, t16_2.xyz);
    t16_2.x = dot(t10_3.xyz, t16_2.xyz);
    t16_0.xy = max(t16_2.xw, vec2(0.0, 0.0));
    t16_2.x = log2(t16_0.x);
    t16_0.x = max(t16_5.x, 0.0);
    t10_12.xy = texture(_SpecTex, vs_TEXCOORD0.xy).xy;
    t16_8.x = (-t10_12.x) * _SmoothnessIntensity + 1.0;
    t10_3.xy = t10_12.xy * vec2(_SmoothnessIntensity, _MetallicIntensity);
    t16_14 = (-t16_8.x) + 1.0;
    t16_14 = t16_14 * 0.967999995 + 0.0299999993;
    t16_14 = log2(t16_14);
    t16_14 = 10.0 / t16_14;
    t16_8.y = max(t16_14, -255.936996);
    t16_8.xz = t16_8.xy * t16_8.xy;
    t16_14 = t16_8.y * t16_8.y + 1.0;
    t16_2.x = t16_2.x * t16_8.z;
    t16_2.x = exp2(t16_2.x);
    t16_2.x = t16_2.x * t16_14;
    t16_14 = t16_0.x * t16_0.x;
    t16_8.x = t16_14 * t10_3.x + t16_8.x;
    t16_8.x = t16_8.x * unity_LightGammaCorrectionConsts.z;
    t16_0.x = t16_8.x * t16_0.x + 9.99999975e-05;
    t16_0.x = t16_2.x / t16_0.x;
    t16_2.x = max(t16_0.x, 0.0);
    t16_2.x = min(t16_2.x, 100.0);
    t10_0.xzw = texture(_MainTex, vs_TEXCOORD0.xy).xyz;
    t16_8.xyz = t10_0.xzw + (-unity_ColorSpaceDielectricSpec.xyz);
    t16_8.xyz = t10_3.yyy * t16_8.xyz + unity_ColorSpaceDielectricSpec.xyz;
    t16_5.x = (-t10_3.y) * unity_ColorSpaceDielectricSpec.w + unity_ColorSpaceDielectricSpec.w;
    t16_2.xyz = t16_8.xyz * t16_2.xxx;
    t16_2.xyz = t10_0.xzw * t16_5.xxx + t16_2.xyz;
    t16_5.xyz = vs_TEXCOORD4.yyy * _LightMatrix0[1].xyz;
    t16_5.xyz = _LightMatrix0[0].xyz * vs_TEXCOORD4.xxx + t16_5.xyz;
    t16_5.xyz = _LightMatrix0[2].xyz * vs_TEXCOORD4.zzz + t16_5.xyz;
    t16_5.xyz = t16_5.xyz + _LightMatrix0[3].xyz;
    t16_0.x = dot(t16_5.xyz, t16_5.xyz);
    t10_12.x = texture(_LightTexture0, t16_5.xyz).w;
    t10_0.x = texture(_LightTextureB0, t16_0.xx).w;
    t16_0.x = t10_12.x * t10_0.x;
    t16_5.xyz = t16_0.xxx * _LightColor0.xyz;
    t16_2.xyz = t16_2.xyz * t16_5.xyz;
    t16_2.xyz = t16_0.yyy * t16_2.xyz;
    SV_Target0.xyz = t16_2.xyz;
    SV_Target0.w = 1.0;
    return;
}

#endif
"
}
SubProgram "gles " {
Keywords { "DIRECTIONAL_COOKIE" }
"!!GLES
#version 100

#ifdef VERTEX
attribute vec4 _glesTANGENT;
attribute vec4 _glesVertex;
attribute vec3 _glesNormal;
attribute vec4 _glesMultiTexCoord0;
uniform highp mat4 glstate_matrix_mvp;
uniform highp mat4 _Object2World;
uniform highp mat4 _World2Object;
uniform highp vec4 unity_WorldTransformParams;
uniform highp vec4 _MainTex_ST;
uniform highp vec4 _BumpMap_ST;
varying highp vec4 xlv_TEXCOORD0;
varying lowp vec3 xlv_TEXCOORD1;
varying lowp vec3 xlv_TEXCOORD2;
varying lowp vec3 xlv_TEXCOORD3;
varying highp vec3 xlv_TEXCOORD4;
void main ()
{
  lowp float tangentSign_1;
  lowp vec3 worldTangent_2;
  lowp vec3 worldNormal_3;
  highp vec4 tmpvar_4;
  tmpvar_4.xy = ((_glesMultiTexCoord0.xy * _MainTex_ST.xy) + _MainTex_ST.zw);
  tmpvar_4.zw = ((_glesMultiTexCoord0.xy * _BumpMap_ST.xy) + _BumpMap_ST.zw);
  highp vec4 v_5;
  v_5.x = _World2Object[0].x;
  v_5.y = _World2Object[1].x;
  v_5.z = _World2Object[2].x;
  v_5.w = _World2Object[3].x;
  highp vec4 v_6;
  v_6.x = _World2Object[0].y;
  v_6.y = _World2Object[1].y;
  v_6.z = _World2Object[2].y;
  v_6.w = _World2Object[3].y;
  highp vec4 v_7;
  v_7.x = _World2Object[0].z;
  v_7.y = _World2Object[1].z;
  v_7.z = _World2Object[2].z;
  v_7.w = _World2Object[3].z;
  highp vec3 tmpvar_8;
  tmpvar_8 = normalize(((
    (v_5.xyz * _glesNormal.x)
   + 
    (v_6.xyz * _glesNormal.y)
  ) + (v_7.xyz * _glesNormal.z)));
  worldNormal_3 = tmpvar_8;
  highp mat3 tmpvar_9;
  tmpvar_9[0] = _Object2World[0].xyz;
  tmpvar_9[1] = _Object2World[1].xyz;
  tmpvar_9[2] = _Object2World[2].xyz;
  highp vec3 tmpvar_10;
  tmpvar_10 = normalize((tmpvar_9 * _glesTANGENT.xyz));
  worldTangent_2 = tmpvar_10;
  highp float tmpvar_11;
  tmpvar_11 = (_glesTANGENT.w * unity_WorldTransformParams.w);
  tangentSign_1 = tmpvar_11;
  lowp vec3 tmpvar_12;
  tmpvar_12 = (((worldNormal_3.yzx * worldTangent_2.zxy) - (worldNormal_3.zxy * worldTangent_2.yzx)) * tangentSign_1);
  lowp vec3 tmpvar_13;
  tmpvar_13.x = worldTangent_2.x;
  tmpvar_13.y = tmpvar_12.x;
  tmpvar_13.z = worldNormal_3.x;
  lowp vec3 tmpvar_14;
  tmpvar_14.x = worldTangent_2.y;
  tmpvar_14.y = tmpvar_12.y;
  tmpvar_14.z = worldNormal_3.y;
  lowp vec3 tmpvar_15;
  tmpvar_15.x = worldTangent_2.z;
  tmpvar_15.y = tmpvar_12.z;
  tmpvar_15.z = worldNormal_3.z;
  gl_Position = (glstate_matrix_mvp * _glesVertex);
  xlv_TEXCOORD0 = tmpvar_4;
  xlv_TEXCOORD1 = tmpvar_13;
  xlv_TEXCOORD2 = tmpvar_14;
  xlv_TEXCOORD3 = tmpvar_15;
  xlv_TEXCOORD4 = (_Object2World * _glesVertex).xyz;
}


#endif
#ifdef FRAGMENT
uniform highp vec3 _WorldSpaceCameraPos;
uniform mediump vec4 _WorldSpaceLightPos0;
uniform mediump vec4 unity_ColorSpaceDielectricSpec;
uniform lowp vec4 _LightColor0;
uniform mediump vec4 unity_LightGammaCorrectionConsts;
uniform sampler2D _LightTexture0;
uniform mediump mat4 _LightMatrix0;
uniform sampler2D _MainTex;
uniform sampler2D _BumpMap;
uniform sampler2D _SpecTex;
uniform lowp float _MetallicIntensity;
uniform lowp float _SmoothnessIntensity;
varying highp vec4 xlv_TEXCOORD0;
varying lowp vec3 xlv_TEXCOORD1;
varying lowp vec3 xlv_TEXCOORD2;
varying lowp vec3 xlv_TEXCOORD3;
varying highp vec3 xlv_TEXCOORD4;
void main ()
{
  mediump vec3 tmpvar_1;
  mediump vec3 tmpvar_2;
  lowp vec3 worldN_3;
  lowp vec4 c_4;
  lowp vec3 worldViewDir_5;
  lowp vec3 lightDir_6;
  mediump vec3 tmpvar_7;
  tmpvar_7 = _WorldSpaceLightPos0.xyz;
  lightDir_6 = tmpvar_7;
  highp vec3 tmpvar_8;
  tmpvar_8 = normalize((_WorldSpaceCameraPos - xlv_TEXCOORD4));
  worldViewDir_5 = tmpvar_8;
  lowp vec3 tmpvar_9;
  mediump float tmpvar_10;
  mediump float tmpvar_11;
  lowp vec3 tmpvar_12;
  tmpvar_12 = ((texture2D (_BumpMap, xlv_TEXCOORD0.zw).xyz * 2.0) - 1.0);
  lowp vec4 tmpvar_13;
  tmpvar_13 = texture2D (_SpecTex, xlv_TEXCOORD0.xy);
  tmpvar_9 = texture2D (_MainTex, xlv_TEXCOORD0.xy).xyz;
  tmpvar_11 = (tmpvar_13.x * _SmoothnessIntensity);
  tmpvar_10 = (tmpvar_13.y * _MetallicIntensity);
  highp vec4 tmpvar_14;
  tmpvar_14.w = 1.0;
  tmpvar_14.xyz = xlv_TEXCOORD4;
  highp vec2 tmpvar_15;
  tmpvar_15 = (_LightMatrix0 * tmpvar_14).xy;
  lowp float tmpvar_16;
  tmpvar_16 = texture2D (_LightTexture0, tmpvar_15).w;
  worldN_3.x = dot (xlv_TEXCOORD1, tmpvar_12);
  worldN_3.y = dot (xlv_TEXCOORD2, tmpvar_12);
  worldN_3.z = dot (xlv_TEXCOORD3, tmpvar_12);
  tmpvar_1 = _LightColor0.xyz;
  tmpvar_2 = lightDir_6;
  mediump vec3 normal_17;
  normal_17 = worldN_3;
  tmpvar_1 = (tmpvar_1 * tmpvar_16);
  lowp vec3 tmpvar_18;
  mediump vec3 viewDir_19;
  viewDir_19 = worldViewDir_5;
  mediump vec4 c_20;
  lowp vec3 tmpvar_21;
  tmpvar_21 = normalize(worldN_3);
  mediump vec3 tmpvar_22;
  mediump vec3 albedo_23;
  albedo_23 = tmpvar_9;
  tmpvar_22 = (albedo_23 * (unity_ColorSpaceDielectricSpec.w - (tmpvar_10 * unity_ColorSpaceDielectricSpec.w)));
  tmpvar_18 = tmpvar_22;
  mediump vec3 diffColor_24;
  diffColor_24 = tmpvar_18;
  tmpvar_18 = diffColor_24;
  mediump vec3 diffColor_25;
  diffColor_25 = tmpvar_18;
  mediump vec3 normal_26;
  normal_26 = tmpvar_21;
  mediump vec3 tmpvar_27;
  mediump vec3 inVec_28;
  inVec_28 = (tmpvar_2 + viewDir_19);
  tmpvar_27 = (inVec_28 * inversesqrt(max (0.001, 
    dot (inVec_28, inVec_28)
  )));
  mediump float tmpvar_29;
  tmpvar_29 = max (0.0, dot (tmpvar_2, tmpvar_27));
  mediump float tmpvar_30;
  tmpvar_30 = (1.0 - tmpvar_11);
  mediump float tmpvar_31;
  mediump float tmpvar_32;
  tmpvar_32 = max ((10.0 / log2(
    (((1.0 - tmpvar_30) * 0.968) + 0.03)
  )), -255.937);
  tmpvar_31 = (tmpvar_32 * tmpvar_32);
  c_20.xyz = (((diffColor_25 + 
    (clamp (((
      (tmpvar_31 + 1.0)
     * 
      pow (max (0.0, dot (normal_26, tmpvar_27)), tmpvar_31)
    ) / (
      ((unity_LightGammaCorrectionConsts.z * ((
        (tmpvar_29 * tmpvar_29)
       * tmpvar_11) + (tmpvar_30 * tmpvar_30))) * tmpvar_29)
     + 0.0001)), 0.0, 100.0) * mix (unity_ColorSpaceDielectricSpec.xyz, albedo_23, vec3(tmpvar_10)))
  ) * tmpvar_1) * max (0.0, dot (normal_17, tmpvar_2)));
  c_20.w = 0.0;
  c_4.xyz = c_20.xyz;
  c_4.w = 1.0;
  gl_FragData[0] = c_4;
}


#endif
"
}
SubProgram "gles3 " {
Keywords { "DIRECTIONAL_COOKIE" }
"!!GLES3
#ifdef VERTEX
#version 300 es
precision highp float;
precision highp int;
uniform 	vec4 _Time;
uniform 	vec4 _SinTime;
uniform 	vec4 _CosTime;
uniform 	vec4 unity_DeltaTime;
uniform 	vec3 _WorldSpaceCameraPos;
uniform 	vec4 _ProjectionParams;
uniform 	vec4 _ScreenParams;
uniform 	vec4 _ZBufferParams;
uniform 	vec4 unity_OrthoParams;
uniform 	vec4 unity_CameraWorldClipPlanes[6];
uniform 	mat4 unity_CameraProjection;
uniform 	mat4 unity_CameraInvProjection;
uniform 	mediump vec4 _WorldSpaceLightPos0;
uniform 	vec4 _LightPositionRange;
uniform 	vec4 unity_4LightPosX0;
uniform 	vec4 unity_4LightPosY0;
uniform 	vec4 unity_4LightPosZ0;
uniform 	mediump vec4 unity_4LightAtten0;
uniform 	mediump vec4 unity_LightColor[8];
uniform 	vec4 unity_LightPosition[8];
uniform 	mediump vec4 unity_LightAtten[8];
uniform 	vec4 unity_SpotDirection[8];
uniform 	mediump vec4 unity_SHAr;
uniform 	mediump vec4 unity_SHAg;
uniform 	mediump vec4 unity_SHAb;
uniform 	mediump vec4 unity_SHBr;
uniform 	mediump vec4 unity_SHBg;
uniform 	mediump vec4 unity_SHBb;
uniform 	mediump vec4 unity_SHC;
uniform 	mediump vec3 unity_LightColor0;
uniform 	mediump vec3 unity_LightColor1;
uniform 	mediump vec3 unity_LightColor2;
uniform 	mediump vec3 unity_LightColor3;
uniform 	vec4 unity_ShadowSplitSpheres[4];
uniform 	vec4 unity_ShadowSplitSqRadii;
uniform 	vec4 unity_LightShadowBias;
uniform 	vec4 _LightSplitsNear;
uniform 	vec4 _LightSplitsFar;
uniform 	mat4 unity_World2Shadow[4];
uniform 	mediump vec4 _LightShadowData;
uniform 	vec4 unity_ShadowFadeCenterAndType;
uniform 	mat4 glstate_matrix_mvp;
uniform 	mat4 glstate_matrix_modelview0;
uniform 	mat4 glstate_matrix_invtrans_modelview0;
uniform 	mat4 _Object2World;
uniform 	mat4 _World2Object;
uniform 	vec4 unity_LODFade;
uniform 	vec4 unity_WorldTransformParams;
uniform 	mat4 glstate_matrix_transpose_modelview0;
uniform 	mat4 glstate_matrix_projection;
uniform 	lowp vec4 glstate_lightmodel_ambient;
uniform 	mat4 unity_MatrixV;
uniform 	mat4 unity_MatrixVP;
uniform 	lowp vec4 unity_AmbientSky;
uniform 	lowp vec4 unity_AmbientEquator;
uniform 	lowp vec4 unity_AmbientGround;
uniform 	lowp vec4 unity_FogColor;
uniform 	vec4 unity_FogParams;
uniform 	vec4 unity_LightmapST;
uniform 	vec4 unity_DynamicLightmapST;
uniform 	vec4 unity_SpecCube0_BoxMax;
uniform 	vec4 unity_SpecCube0_BoxMin;
uniform 	vec4 unity_SpecCube0_ProbePosition;
uniform 	mediump vec4 unity_SpecCube0_HDR;
uniform 	vec4 unity_SpecCube1_BoxMax;
uniform 	vec4 unity_SpecCube1_BoxMin;
uniform 	vec4 unity_SpecCube1_ProbePosition;
uniform 	mediump vec4 unity_SpecCube1_HDR;
uniform 	lowp vec4 unity_ColorSpaceGrey;
uniform 	lowp vec4 unity_ColorSpaceDouble;
uniform 	mediump vec4 unity_ColorSpaceDielectricSpec;
uniform 	mediump vec4 unity_ColorSpaceLuminance;
uniform 	mediump vec4 unity_Lightmap_HDR;
uniform 	mediump vec4 unity_DynamicLightmap_HDR;
uniform 	lowp vec4 _LightColor0;
uniform 	lowp vec4 _SpecColor;
uniform 	mediump vec4 unity_LightGammaCorrectionConsts;
uniform 	mediump mat4 _LightMatrix0;
uniform 	lowp float _MetallicIntensity;
uniform 	lowp float _SmoothnessIntensity;
uniform 	lowp float _Cubepower;
uniform 	vec4 _MainTex_ST;
uniform 	vec4 _BumpMap_ST;
in highp vec4 in_POSITION0;
in highp vec4 in_TANGENT0;
in highp vec3 in_NORMAL0;
in highp vec4 in_TEXCOORD0;
out highp vec4 vs_TEXCOORD0;
out lowp vec3 vs_TEXCOORD1;
out lowp vec3 vs_TEXCOORD2;
out lowp vec3 vs_TEXCOORD3;
out highp vec3 vs_TEXCOORD4;
highp vec4 t0;
highp vec3 t1;
lowp vec3 t10_2;
highp float t3;
highp float t9;
void main()
{
    t0 = in_POSITION0.yyyy * glstate_matrix_mvp[1];
    t0 = glstate_matrix_mvp[0] * in_POSITION0.xxxx + t0;
    t0 = glstate_matrix_mvp[2] * in_POSITION0.zzzz + t0;
    gl_Position = glstate_matrix_mvp[3] * in_POSITION0.wwww + t0;
    vs_TEXCOORD0.xy = in_TEXCOORD0.xy * _MainTex_ST.xy + _MainTex_ST.zw;
    vs_TEXCOORD0.zw = in_TEXCOORD0.xy * _BumpMap_ST.xy + _BumpMap_ST.zw;
    t0.y = in_NORMAL0.x * _World2Object[0].x;
    t0.z = in_NORMAL0.x * _World2Object[1].x;
    t0.x = in_NORMAL0.x * _World2Object[2].x;
    t1.y = in_NORMAL0.y * _World2Object[0].y;
    t1.z = in_NORMAL0.y * _World2Object[1].y;
    t1.x = in_NORMAL0.y * _World2Object[2].y;
    t0.xyz = t0.xyz + t1.xyz;
    t1.y = in_NORMAL0.z * _World2Object[0].z;
    t1.z = in_NORMAL0.z * _World2Object[1].z;
    t1.x = in_NORMAL0.z * _World2Object[2].z;
    t0.xyz = t0.xyz + t1.xyz;
    t9 = dot(t0.xyz, t0.xyz);
    t9 = inversesqrt(t9);
    t0.xyz = vec3(t9) * t0.xyz;
    vs_TEXCOORD1.z = t0.y;
    t1.xyz = in_TANGENT0.yyy * _Object2World[1].yzx;
    t1.xyz = _Object2World[0].yzx * in_TANGENT0.xxx + t1.xyz;
    t1.xyz = _Object2World[2].yzx * in_TANGENT0.zzz + t1.xyz;
    t9 = dot(t1.xyz, t1.xyz);
    t9 = inversesqrt(t9);
    t1.xyz = vec3(t9) * t1.xyz;
    t10_2.xyz = t0.xyz * t1.xyz;
    t10_2.xyz = t0.zxy * t1.yzx + (-t10_2.xyz);
    t3 = in_TANGENT0.w * unity_WorldTransformParams.w;
    t10_2.xyz = vec3(t3) * t10_2.xyz;
    vs_TEXCOORD1.y = t10_2.x;
    vs_TEXCOORD1.x = t1.z;
    vs_TEXCOORD2.z = t0.z;
    vs_TEXCOORD3.z = t0.x;
    vs_TEXCOORD2.x = t1.x;
    vs_TEXCOORD3.x = t1.y;
    vs_TEXCOORD2.y = t10_2.y;
    vs_TEXCOORD3.y = t10_2.z;
    t0.xyz = in_POSITION0.yyy * _Object2World[1].xyz;
    t0.xyz = _Object2World[0].xyz * in_POSITION0.xxx + t0.xyz;
    t0.xyz = _Object2World[2].xyz * in_POSITION0.zzz + t0.xyz;
    vs_TEXCOORD4.xyz = _Object2World[3].xyz * in_POSITION0.www + t0.xyz;
    return;
}

#endif
#ifdef FRAGMENT
#version 300 es
precision highp float;
precision highp int;
uniform 	vec4 _Time;
uniform 	vec4 _SinTime;
uniform 	vec4 _CosTime;
uniform 	vec4 unity_DeltaTime;
uniform 	vec3 _WorldSpaceCameraPos;
uniform 	vec4 _ProjectionParams;
uniform 	vec4 _ScreenParams;
uniform 	vec4 _ZBufferParams;
uniform 	vec4 unity_OrthoParams;
uniform 	vec4 unity_CameraWorldClipPlanes[6];
uniform 	mat4 unity_CameraProjection;
uniform 	mat4 unity_CameraInvProjection;
uniform 	mediump vec4 _WorldSpaceLightPos0;
uniform 	vec4 _LightPositionRange;
uniform 	vec4 unity_4LightPosX0;
uniform 	vec4 unity_4LightPosY0;
uniform 	vec4 unity_4LightPosZ0;
uniform 	mediump vec4 unity_4LightAtten0;
uniform 	mediump vec4 unity_LightColor[8];
uniform 	vec4 unity_LightPosition[8];
uniform 	mediump vec4 unity_LightAtten[8];
uniform 	vec4 unity_SpotDirection[8];
uniform 	mediump vec4 unity_SHAr;
uniform 	mediump vec4 unity_SHAg;
uniform 	mediump vec4 unity_SHAb;
uniform 	mediump vec4 unity_SHBr;
uniform 	mediump vec4 unity_SHBg;
uniform 	mediump vec4 unity_SHBb;
uniform 	mediump vec4 unity_SHC;
uniform 	mediump vec3 unity_LightColor0;
uniform 	mediump vec3 unity_LightColor1;
uniform 	mediump vec3 unity_LightColor2;
uniform 	mediump vec3 unity_LightColor3;
uniform 	vec4 unity_ShadowSplitSpheres[4];
uniform 	vec4 unity_ShadowSplitSqRadii;
uniform 	vec4 unity_LightShadowBias;
uniform 	vec4 _LightSplitsNear;
uniform 	vec4 _LightSplitsFar;
uniform 	mat4 unity_World2Shadow[4];
uniform 	mediump vec4 _LightShadowData;
uniform 	vec4 unity_ShadowFadeCenterAndType;
uniform 	mat4 glstate_matrix_mvp;
uniform 	mat4 glstate_matrix_modelview0;
uniform 	mat4 glstate_matrix_invtrans_modelview0;
uniform 	mat4 _Object2World;
uniform 	mat4 _World2Object;
uniform 	vec4 unity_LODFade;
uniform 	vec4 unity_WorldTransformParams;
uniform 	mat4 glstate_matrix_transpose_modelview0;
uniform 	mat4 glstate_matrix_projection;
uniform 	lowp vec4 glstate_lightmodel_ambient;
uniform 	mat4 unity_MatrixV;
uniform 	mat4 unity_MatrixVP;
uniform 	lowp vec4 unity_AmbientSky;
uniform 	lowp vec4 unity_AmbientEquator;
uniform 	lowp vec4 unity_AmbientGround;
uniform 	lowp vec4 unity_FogColor;
uniform 	vec4 unity_FogParams;
uniform 	vec4 unity_LightmapST;
uniform 	vec4 unity_DynamicLightmapST;
uniform 	vec4 unity_SpecCube0_BoxMax;
uniform 	vec4 unity_SpecCube0_BoxMin;
uniform 	vec4 unity_SpecCube0_ProbePosition;
uniform 	mediump vec4 unity_SpecCube0_HDR;
uniform 	vec4 unity_SpecCube1_BoxMax;
uniform 	vec4 unity_SpecCube1_BoxMin;
uniform 	vec4 unity_SpecCube1_ProbePosition;
uniform 	mediump vec4 unity_SpecCube1_HDR;
uniform 	lowp vec4 unity_ColorSpaceGrey;
uniform 	lowp vec4 unity_ColorSpaceDouble;
uniform 	mediump vec4 unity_ColorSpaceDielectricSpec;
uniform 	mediump vec4 unity_ColorSpaceLuminance;
uniform 	mediump vec4 unity_Lightmap_HDR;
uniform 	mediump vec4 unity_DynamicLightmap_HDR;
uniform 	lowp vec4 _LightColor0;
uniform 	lowp vec4 _SpecColor;
uniform 	mediump vec4 unity_LightGammaCorrectionConsts;
uniform 	mediump mat4 _LightMatrix0;
uniform 	lowp float _MetallicIntensity;
uniform 	lowp float _SmoothnessIntensity;
uniform 	lowp float _Cubepower;
uniform 	vec4 _MainTex_ST;
uniform 	vec4 _BumpMap_ST;
uniform lowp sampler2D _MainTex;
uniform lowp sampler2D _BumpMap;
uniform lowp sampler2D _SpecTex;
uniform lowp sampler2D _LightTexture0;
in highp vec4 vs_TEXCOORD0;
in lowp vec3 vs_TEXCOORD1;
in lowp vec3 vs_TEXCOORD2;
in lowp vec3 vs_TEXCOORD3;
in highp vec3 vs_TEXCOORD4;
layout(location = 0) out lowp vec4 SV_Target0;
highp vec3 t0;
mediump float t16_0;
lowp vec3 t10_0;
mediump vec4 t16_1;
lowp vec3 t10_2;
lowp vec3 t10_3;
mediump vec3 t16_4;
mediump vec2 t16_5;
lowp vec3 t10_5;
mediump vec3 t16_6;
lowp vec2 t10_10;
mediump float t16_11;
highp float t15;
mediump float t16_16;
void main()
{
    t0.xyz = (-vs_TEXCOORD4.xyz) + _WorldSpaceCameraPos.xyzx.xyz;
    t15 = dot(t0.xyz, t0.xyz);
    t15 = inversesqrt(t15);
    t16_1.xyz = t0.xyz * vec3(t15) + _WorldSpaceLightPos0.xyz;
    t16_16 = dot(t16_1.xyz, t16_1.xyz);
    t16_0 = max(t16_16, 0.00100000005);
    t16_16 = inversesqrt(t16_0);
    t16_1.xyz = vec3(t16_16) * t16_1.xyz;
    t10_0.xyz = texture(_BumpMap, vs_TEXCOORD0.zw).xyz;
    t10_2.xyz = t10_0.xyz * vec3(2.0, 2.0, 2.0) + vec3(-1.0, -1.0, -1.0);
    t10_3.x = dot(vs_TEXCOORD1.xyz, t10_2.xyz);
    t10_3.y = dot(vs_TEXCOORD2.xyz, t10_2.xyz);
    t10_3.z = dot(vs_TEXCOORD3.xyz, t10_2.xyz);
    t10_2.x = dot(t10_3.xyz, t10_3.xyz);
    t10_2.x = inversesqrt(t10_2.x);
    t10_2.xyz = t10_2.xxx * t10_3.xyz;
    t16_16 = dot(t10_3.xyz, _WorldSpaceLightPos0.xyz);
    t16_0 = max(t16_16, 0.0);
    t16_1.w = dot(t10_2.xyz, t16_1.xyz);
    t16_1.x = dot(_WorldSpaceLightPos0.xyz, t16_1.xyz);
    t16_5.xy = max(t16_1.xw, vec2(0.0, 0.0));
    t16_1.x = log2(t16_5.y);
    t10_10.xy = texture(_SpecTex, vs_TEXCOORD0.xy).xy;
    t16_6.x = (-t10_10.x) * _SmoothnessIntensity + 1.0;
    t10_2.xy = t10_10.xy * vec2(_SmoothnessIntensity, _MetallicIntensity);
    t16_11 = (-t16_6.x) + 1.0;
    t16_11 = t16_11 * 0.967999995 + 0.0299999993;
    t16_11 = log2(t16_11);
    t16_11 = 10.0 / t16_11;
    t16_6.y = max(t16_11, -255.936996);
    t16_6.xz = t16_6.xy * t16_6.xy;
    t16_11 = t16_6.y * t16_6.y + 1.0;
    t16_1.x = t16_1.x * t16_6.z;
    t16_1.x = exp2(t16_1.x);
    t16_1.x = t16_1.x * t16_11;
    t16_11 = t16_5.x * t16_5.x;
    t16_6.x = t16_11 * t10_2.x + t16_6.x;
    t16_6.x = t16_6.x * unity_LightGammaCorrectionConsts.z;
    t16_5.x = t16_6.x * t16_5.x + 9.99999975e-05;
    t16_5.x = t16_1.x / t16_5.x;
    t16_1.x = max(t16_5.x, 0.0);
    t16_1.x = min(t16_1.x, 100.0);
    t10_5.xyz = texture(_MainTex, vs_TEXCOORD0.xy).xyz;
    t16_6.xyz = t10_5.xyz + (-unity_ColorSpaceDielectricSpec.xyz);
    t16_6.xyz = t10_2.yyy * t16_6.xyz + unity_ColorSpaceDielectricSpec.xyz;
    t16_4.x = (-t10_2.y) * unity_ColorSpaceDielectricSpec.w + unity_ColorSpaceDielectricSpec.w;
    t16_1.xyz = t16_6.xyz * t16_1.xxx;
    t16_1.xyz = t10_5.xyz * t16_4.xxx + t16_1.xyz;
    t16_4.xy = vs_TEXCOORD4.yy * _LightMatrix0[1].xy;
    t16_4.xy = _LightMatrix0[0].xy * vs_TEXCOORD4.xx + t16_4.xy;
    t16_4.xy = _LightMatrix0[2].xy * vs_TEXCOORD4.zz + t16_4.xy;
    t16_4.xy = t16_4.xy + _LightMatrix0[3].xy;
    t10_5.x = texture(_LightTexture0, t16_4.xy).w;
    t16_4.xyz = t10_5.xxx * _LightColor0.xyz;
    t16_1.xyz = t16_1.xyz * t16_4.xyz;
    t16_1.xyz = vec3(t16_0) * t16_1.xyz;
    SV_Target0.xyz = t16_1.xyz;
    SV_Target0.w = 1.0;
    return;
}

#endif
"
}
}
Program "fp" {
SubProgram "gles " {
Keywords { "POINT" }
"!!GLES"
}
SubProgram "gles3 " {
Keywords { "POINT" }
"!!GLES3"
}
SubProgram "gles " {
Keywords { "DIRECTIONAL" }
"!!GLES"
}
SubProgram "gles3 " {
Keywords { "DIRECTIONAL" }
"!!GLES3"
}
SubProgram "gles " {
Keywords { "SPOT" }
"!!GLES"
}
SubProgram "gles3 " {
Keywords { "SPOT" }
"!!GLES3"
}
SubProgram "gles " {
Keywords { "POINT_COOKIE" }
"!!GLES"
}
SubProgram "gles3 " {
Keywords { "POINT_COOKIE" }
"!!GLES3"
}
SubProgram "gles " {
Keywords { "DIRECTIONAL_COOKIE" }
"!!GLES"
}
SubProgram "gles3 " {
Keywords { "DIRECTIONAL_COOKIE" }
"!!GLES3"
}
}
 }
}
Fallback Off
}